一、Numpy的使用
-
數組的屬性
arr=np.array([[1,2,3],[2,3,4]],dtype=np.float32)
注:dtype默認是float64
print(arr.ndim)
print(arr.shape)
print(arr.size)
np.sum(a,axis=…)
np.max(a,axis=…)
np.min(a,axis=…)
np.argmin(a)#返回最小值索引
np.argmax(a)
np.mean(a)
np.cumsum(a)#累加
np.diff(a)#累差
np.nonzero(a)#返回不是零的索引
np.transpose(a)#轉置
np.clip(a,5,9)#a中大於9的數變成9 小於5的數變成5 -
定義數組的方法
np.zeros((3,4))
np.ones((3,4))
np.empty((3,4))
np.arange(10,20,2)
np.linspace(1,10,20)
np.random.random((2,4)) -
矩陣運算
np,sin(a)
np.dot(a,b)
a.dot(b) -
矩陣合併
np.vstack(a,b)
np.hstack(a,b)
np.concatenate((A,B,B,A),axis=1)
注:a[np.newaxis,:]序列變矩陣 -
矩陣分割
np.split(a,分割的塊數,axis=…)
np.array_split(同上)不等的分割
np.hsplit(a,分割的塊數)
np.vsplit(a,分割的塊數) -
矩陣複製
a.copy()深拷貝
等號兩變量賦值是淺拷貝
二、Pandas的使用
- 屬性
df.T
df.values
df.columns
df.index
df.describe()
df.sort_value(by=‘E’)
df.sort_index(axis=0,ascending=False) - 創建
pd.Series([1,2,3,41])
pd.date_range(‘20160101’,periods=6)
pd.DateFrame(np.random.randn(6,4),index=a,columns=[‘a’,‘b’,‘c’])#生成有行列索引的表格 - 篩選
df.iloc#按索引取值
df.loc#按標籤取值
df.ix#混合篩選
df.A[df.A>8]#布爾篩選 - 處理缺失數據
df.dropna(axis=0,how=‘all’)
df.fillna(value=0)
np.any(df.isnull()==True) - 讀取
pd.read_csv(‘文件名’) - 合併
- concat
- pd.concat([df1,df2,df3],axis=0,ignore_index=True,join=‘inner’)#上下合併 默認outer
- pd.concat([df1,df2,df3],axis=0,ignore_index=True,join_index=[df1.index])#左右合併
- merge
- pd.merge(left,right,on=[‘key’],how=’'right)
how可以取left、right、outer、inner