关于pandas的数据处理tips

1、在索引切片的时候,可以按照下式子进行:

df[:3]
df['a':'c']
df[[True,True,True,False,False,False]] # 前三行(布尔数组长度等于行数)
df[df['A']>0] # A列值大于0的行
df[(df['A']>0) | (df['B']>0)] # A列值大于0,或者B列大于0的行
df[(df['A']>0) & (df['C']>0)] # A列值大于0,并且C列大于0的行 
/*此处的&为‘并且’,并且最好要把‘&’两边的表达式用()标记起来,否则容易出现逻辑错误如下:

0 < 1 & 0 < 2              ----------------->                  0 < (1 & 0) < 2

*/
2、在对dateframe进行索引处理的时候要注意,尽量使用pd.notna()函数进行判定是否为空。(而不是单纯的用'null'或者np.nan)
/*np=numpy pd=pandas*/


3、在对dataframe获取单独一列或者一行的时候要注意。获取一行的方法通常是frame.ix['array_name']而列则是frame['column_name']。
如果是对进行加减乘除(add,sub,mul,div)的广播则要可以通过axis属性进行设置详细见P136.

5、关于groupby的Note:

  dataframe数据类型的groupby函数主要是将相同的类型进行统一。
  df.groupby('columnname')--->可按照该列对象进行分组,并且可以将该对象再进一步进行索引分析df.groupby('columnname')['columnname1']
df['columename'].groupby(df['columnname1'])-->索引效果等价于df.groupby('columnname')['columnname1']。但是此时要主要需要在groupby中引入df['columnname'],因为有时候在分析数据的时候可以groupby的对象来自不同的表格。
groupby对元素的行或者列进行合并--->建立一个基于将要合并列/行的字典mapping,然后将df.groupby(mapping,axis=?)若对列进行合组则?设置为1,行则为0

 

6、note:关于切片标签化,对于数组集合使用cut函数进行划分,传入带切分的数据集与切分的数据断点值。修改属性标签里面right的bool值可以修改数据的包含性质。通过传入labels属性可以修改数据的切片的别名。

 

 

 



转载于:https://www.cnblogs.com/brucechua/p/7904799.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值