zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    剑指office--------合并两个排序的链表
    剑指office--------栈的压入、弹出序列
    剑指office--------二叉树中和为某一值的路径
    剑指office--------翻转单词顺序列
    剑指office--------丑数
    剑指office--------机器人的运动范围
    剑指office--------二叉树的下一个结点
    数论------欧拉函数
    hdu 5831 Rikka with Parenthesis II
    hdu 5821 Ball (贪心)
  • 原文地址:https://www.cnblogs.com/guofeng-1016/p/10132478.html
Copyright © 2011-2022 走看看