Pandas进阶语法

嘉美伯爵

数据处理 Pandas 256

注意

  • 取index多级索引:构造的时候是zip对,所以这样取

  • 取column多级索引:构造的时候是第一层和第一层数量一致,取的时候df.iloc[1:]把第一行去掉再去

  • pd.to_datetime()很重要,可以把str日期转化为datetime

  • 也可以这样取

  • ix

可以自适应loc iloc 但不建议用

apply 可赋值也可过滤

新增列直接 df['列名'] = data 就可以 删除列 df.remove('列名'),插入用appenf/insert

取列

  • set_index

这个方法很有用,可将columns转化为index

布尔索引

取行取列

  • loc:对index直接操作行操作

  • loc[:, column]:对列操作

  • iloc:对行号直接操作

  • iloc[:, column_index]:对列操作

  • iat:对单值进行操作

  • ./[]:对列进行操作

多层索引

  • 生成多级索引的方式

  • columns 多层索引

注意第一层的数量要和第二层的一致

  • index 多层索引

注意多层索引对应的分组

转换

  • stack/unstack unstack可以取消这种状态,便于分析

  • 归并

针对像省市县这样的数据,可以直接index和columns进行归并显示

  • 转时间戳
df['故障开始'] = pd.to_datetime(df['start_time'],unit='ms',origin=pd.Timestamp('1970-01-01 08:00:00'))

时间

  • 取每月

  • s/S 每个一秒

  • M 每隔一月

  • d/D 每隔一天

  • 过程

过滤

过滤原理,寻找为True的

timedelta可设置天(d),时(h),分钟(m),秒(s),ms,us

  • query

  • to_datetime

该方法可精确过滤时间

  • str

str具备Python str的所有方法,详细pandas中DataFrame字符串过滤之正则表达式

特殊

  • query

pandas query

大汇总