Python数据分析Pandas库之熊猫(10分钟二)

pandas 10分钟教程(二)

重点发法

  • 分组 groupby('列名') groupby(['列名1','列名2',.........])

  • 分组的步骤

  1. (Splitting) 按照一些规则将数据分为不同的组,拆分

  2. (Applying) 对于每组数据分别执行一个函数.'应用,申请'

  3. (Combining) 将结果组合到一个数据结构, '组合/合并'

import pandas as pd
#根据A分组后求和
df.groupby('A').sum()
#分组,指定具体列的出来函数   #reset_index 重置索引
df.group(by=['列1','列2',....]).agg({'列名':['max','min']}).reset_index()

#agg/apply:指定具体的处理函数,,,可以 写自定义函数

 

分组后的统计方法

  1. size() = count()

  2. max(),min(),mean() 最大最小,平均数

  3. std()

  4. median() 中位数

  5. frist() ,last() 第一个和最后一个非NA值

  6. prod 非NA值得积

以上统计函数,除了count()外,都会自动过滤非数字列!!!!

 

  • 排重:duplicated

    1. 检查重复的数据:df.duplicated()

    2. 检查重复指定列名:df.duplicated(['列1','列2',....])

    3. 删除重复数据:df.drop_duolicates()

    4. 删除时指定保留的数据: df.drop_duplicates(['列1',.......],keep='frist/last')

      • keep:保存

      • frist:第一个,last:最后一个

  • 数据透视表(和groupby()类似)

    1. df.pibot_table(df,index=['列1','列2',...],values='列名',aggfunc=np.mean/sum)

      • index : 需要排序的列

      • values : 需要统计的列

      • aggfunc : 执行的统计函数,不写默认统计平均值

  • 分组替换: Categories 分组/分类,

    1. 实现第二列分组比替换数据:

      • df['新列名'] = df['B'].astype('category');转化为分类/分组类型

      • 分配列名: df['新列名'].cat.set_categories((值1,值2,.......))

      • 重新设置: df['新列名'] = df['新列名'].cat_set_categories([值一,值二,...])

 

 

  • 读写文件

    1. HDF5: 存储打数据,方便和其他语言对接,

      • to_hdf()

      • read_hdf()

    2. 表格:excel

      • read_excel('path',sheet_name='子页名')

      • to_excel(path)

posted @ 2018-12-17 16:58  郭峰g  阅读(556)  评论(0编辑  收藏  举报