pandas常用操作(随时更新)

1.时间处理

格式化时间

pd.to_datetime(),其中输入一个时间形式的str或者一列数据都行。如,

pd.to_datetime('2016/1/1')、pd.to_datetime(df['receivetime'])。

  

生成时间序列

pd.date_range(),其中主要输入的参数,起止时间或序列长度、间隔。如,

pd.date_range(start='1/1/2016 00:00:00', end='1/1/2017 00:00:00', freq=str(60*15)+'s')。

 

时间加减

pd.Timestamp("2015-01-01") - pd.offsets.Day(1)

  

2.行列操作

删除空行

df.dropna(),可以选择某一列,也可以全选,删掉的是空行一整行。

df.drop(),删除指定行。

 

排序

df.sort_values(by='name'),根据name这一列进行排序

df.sort_values(by=['name1','name2]),先根据name1进行排序,然后再根据name2排序

 

3.合并DF

merge:类似于SQL的join操作

pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,
      left_index=False, right_index=False, sort=True,
      suffixes=('_x', '_y'), copy=True, indicator=False)

left,right——需要合并的两个列表;

on——连接两个表的key(主键)的列名,如果该列在两个表的列名不同,使用left_on,right_on,如果直接使用index作为作为连接键的话,用左边的行索引则设置left_index=True,用右边的行索引则设置right_index=True;

how——连接方式,默认inner,表示取交集,outer取并集,left为左连接,right为右连接。

suffixes——如果组合后的DataFrame有重复的名称,附加的列名后缀,默认为_x,_y;

join:简化版的merge操作

df.join(self, other, on=None, how='left', lsuffix='', rsuffix='',sort=False)

concat:沿着轴线方向堆叠列表

pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
           keys=None, levels=None, names=None, verify_integrity=False, copy=True)

axis=0时为竖向拼接,axis=1时为横向连接

 

4.读/存文件

存多个sheet

a = pd.DataFrame([],columns=['a','b'])
b = pd.DataFrame([],columns=['c','d'])
excel_writer = pd.ExcelWriter('test.xls')
a.to_excel(excel_writer,sheet_name='a')
b.to_excel(excel_writer,sheet_name='b')

  

5.筛选数据

df[(min_time <= a) & (a <= max_time)] 如果多个条件,用&不用and

  

posted @ 2018-04-13 11:44  haoziii  阅读(297)  评论(0编辑  收藏  举报