Pandas使用笔记

Pandas是用来生成可视化表格,并且对表格进行运算的。可以将numpy的数据进行生成表格。在学习Q-Learning的时候需要使用该工具,可以简化表格的更新过程。并且提供比较规整的可视化数据,也可以进一步的保存表格。

生成API

  • pd.Series() => 传入数组,生成列表
  • pd.date_range('20160101',periods=6) => 生成时间列表
  • pd.DataFrame(np.random.randn(row_num, column_num),index=[], columns=[]) => 将numpy生成的shape数据格式化row和columns都有意义的表格。index是每行名称,column是每列的名称。
  • a.dtypes => 打印出每列的格式
  • a.index => 输出行序号
  • a.columns => 输出列序号
  • a.values => 输出所有值
  • a.decribe => 可以输出每列的属性
  • a.T => 转置矩阵
  • a.sort_index(axis = 1, acending=False) => 对列名称进行排序,倒序
  • a.sort_values(by='E') => 对哪一列的值进行排序
  • a.pop(column_name) => 弹出一列
  • a.insert(index, column_name, column_data) => column_data是Series类型的数据,可以通过np来生成,Series(np_array)

索引API

  • a[column_name] => 输出column_name列的元素,也可以直接加入新行
  • a[min:max] => 输出[min, max)之间的元素,可以是行也可以是列
  • a.loc[label] => 根据label进行选择行,只能根据标签筛选
  • a.loc[:,[label1,label2]] => 所有的行,对列进行筛选
  • a.iloc[index_min:index_max, column_min:column_max] => 支持切片、和直接筛选,是索引的筛选
  • a.ix[index_num, label] => 进行行和列的索引和标签混合筛选
  • b[a.column>8] => 对于b表筛选,输出a.column>8的所有元素,或者是对b.column进行筛选
  • pd.get_dummies(a, prefix = 'a') => 直接生成one-hot向量

处理丢失数据

  • a.dropna(axis=0,how='any') => 任何一个包含nan元素的行会被丢弃how = {'any','all'}
  • a.fillna(value=0) => 用0去填充nan元素
  • a.isnull() => 检查是否有缺失数据,返回BOOL值的表格,np.any(a.isnull()==True),这样式输出一个BOOL值,方便看

处理文件

  • a.read_csv() => 读取csv文件,excel表格
  • a.to_pickle() => 保存成pickle文件

合并表格

  • a.concat([df1,df2,df3], axis=0, ignore_index=True) => 0是竖直方向,1是横方向,上下合并,忽略之前的index
  • a.concat([df1,df2,df3], axis=1, join=inner/outer) => 用来处理index和label名称不一样的情况,inner保留交集,outer保留并集,没有的元素用NAN来填充,
  • a.concat([df1,df2,df3], axis=1, join_axis=[df1.index]) => 左右合并的时候,处理交集
  • df1.append([df2, df3]) => 将df2和df3合并到df1,
  • df.append(series) => 可以直接添加一行

你可能感兴趣的:(Pandas使用笔记)