一、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