Numpy和Pandas常用函数速查表

Numpy和Pandas常用函数速查表

Numpy

函数 功能
np.sin() 对每个元素求正弦
np.cos()
np.arange(num1, num2) 创建一个从num1到num2-1的数组
array < number 返回一个bool值的数组,大于number为True,小于为False
array.reshape(行,列) 改变array的形状
array1 * array2 两个array对应元素相乘
np.dot(array1, array2) 两个array进行矩阵乘法
array1.dot(array2) 矩阵乘法
np.random.random((行, 列)) 生成一个行x列的随机数组,都是0到1
np.sum(array[,axis=0/1]) 求和,0是按行,1是按列
np.min() 最小值
np.max() 最大值
np.argmin() 最小值索引
np.argmax() 最小值索引
np.mean() 均值
np.average() 均值
np.median() 中值
np.cumsum() 累加
np.diff() 累差
np.nonzero() 返回两个数组,分别为非零元素的行和列
np.sort() 逐行排序
np.transpose() 转置
array.T 转置
np.clip(array, min, max) 所有小于nim的值置min,大于max的值置max
array[num_index]
array[num1][num2], array[num1,num2] 二维索引
array[:, 1] 取第1列
array.flatten 返回一个将array展开的一维数组
array.flat 将array展开为一个一维数组,不同的是这是一个迭代器
np.vstack((array1, array2)) 将两个数组上下合并
np.hstack((array1, array2, array3)) 将多个array左右合并
array[np.newaxis,:] 在行上加一个维度,可使一维数组变成列向量
array[:, np.newaxis] 在列上加一个维度
np.concatenate((array1, array2, array3), axis=0/1) 合并多个array,0是竖着合并,1是横着合并
np.split(array,num, axis=0/1) 0是横着切,1是竖着切。分成num份。array必须能被均分为num份
np.array_split(array, num, axis=0/1) 不能均分时,将多出来的分给第一份。
np.vsplit(array, num) 纵向分割
np.hsplit() 横向分割
array1 = array2 两个array完全是同一个,只不过名字不同。改变一个,另一个也会改变
array2 = array1.copy() 深拷贝,只copy值

Pandas

函数 功能
pd.Series(list1, index=list2) 将list1转变为dataframe,索引为list2
pd.DataFrame(array)
pd.DataFrame(dictionary) 将字典转为DataFrame
df.describe() df的一些描述
df.dtypes 类型
df.index 所有行名
df.columns 所有列名
df,values 所有值
df.T 转置
df.sort_index(axis=0/1, ascending=True/False) 按行或列排序,倒叙还是顺序
df[‘A’] df.A 选择数据
df[0:3] 切片
df.loc[标签] 选择标签
df.iloc[行数,列数] 按位置筛选
df.ix[行数,列名] 前者为数字,后者可为字符串
df[新列名] = 内容 新加列
df.dropna(axis=0/1, how=‘any’/‘all’ 舍去行还是列的nan值, any表示只要有nan就舍去,all表示全部为nan时才删除
df.fillna(value=数) 填充缺失值
df.isnull() df里全为nan时
np.any(df.isnull()) 查看是否有缺失值
pd.concat([df1,df2,df3,df4],axis=0) 0是竖向合并,1是横向合并
pd.concat([df1, df2, df3]), axis=0/1, ignore_index=True/False ) 合并数组,并且是否忽视原有的index
pd. concat([df1, df2],join=‘outter’/‘inner’) 当两个df大小不同时,默认outter,不共有的地方补nan。inner表示删除共有的部分
pd.concat([df1, df2,df3], axis=0/1,join_axis=[df1.index]) 按照df1的index合并,df2没有的补nan,df2比df1多的删除
df1.append(s1, ignore_index=True) append是在原来DataFrame下面添加一行,如有多行,前面用列表
pd.merge(df1, df2, on=列名) 按照设置的共有的列名处合并,默认how=’inner‘,how还可以是outter, left, right。inner表示只考虑列名中二者一样的行,outter表示不管一样不一样,全都保留,不一样的部分补nan。left表示以第一个df为准,他不变,在指定列中df2和他一样,就保留df2的那一行,不一样,就补nan。right则是按第二个
df.cumsum() 累加
df.plot() 绘图
df.head(num) 只打印前num行
上一篇:pandas 实现 Excel 常见操作 (1)


下一篇:租房数据分析,knn算法使用