图解python.pandas groupby & pivot_table

图解python.pandas groupby & pivot_table

    • 图解:pandas groupby( )
      • pandas groupby( )代码
    • 图解:pandas pivot_table( )
      • pandas pivot_table( )代码
    • 常用的统计函数:

图解:pandas groupby( )

图解python.pandas groupby & pivot_table_第1张图片

pandas groupby( )代码

import pandas as pd
test_df = pd.DataFrame({ 'col_1':['a', 'a', 'b', 'a', 'a', 'b', 'c', 'a', 'c'],
                         'col_2':['d', 'd', 'd', 'e', 'f', 'e', 'd', 'f', 'f'],
                         'col_3':[ 1,  2,  3,   1,  4,  5,  6,  4,  5]})
test_df  :
     col_1   col_2   col_3

0     a         d         1
1     a         d         2
2     b         d         3
3     a         e         1
4     a         f         4
5     b         e         5
6     c         d         6
7     a         f         4
8     c         f         5

gp_df = test_df.groupby(by=['col_1','col_2'])['col_3'].agg({'c3_sum':sum})
gp_df:                   

                             c3_sum

   col_1      col_2        
      a           d             3
                  e             1
                  f             8
      b           d             3
                  e             5
      c           d             6
                  f             5

gp_df.inde x:
MultiIndex(levels=[['a', 'b', 'c'], ['d', 'e', 'f']],
                   labels=[[0, 0, 0, 1, 1, 2, 2], [0, 1, 2, 0, 1, 0, 2]],
                   names=['col_1', 'col_2'])


gp_df.columns:
Index(['c3_sum'], dtype='object')

图解:pandas pivot_table( )

图解python.pandas groupby & pivot_table_第2张图片

pandas pivot_table( )代码

import pandas as pd
test_df = pd.DataFrame({ 'col_1':['a', 'a', 'b', 'a', 'a', 'b', 'c', 'a', 'c'],
                         'col_2':['d', 'd', 'd', 'e', 'f', 'e', 'd', 'f', 'f'],
                         'col_3':[ 1,  2,  3,   1,  4,  5,  6,  4,  5]})
 
test_df  :
     col_1   col_2   col_3

0     a         d         1
1     a         d         2
2     b         d         3
3     a         e         1
4     a         f         4
5     b         e         5
6     c         d         6
7     a         f         4
8     c         f         5

pt_df = test_df.pivot_table(values='col_3', index='col_1', columns='col_2', aggfunc=sum)
pt_df:

col_2     d       e        f
col_1               
a         3.0     1.0     8.0
b         3.0     5.0     NaN
c         6.0     NaN     5.0

pt_df.index:
Index(['a', 'b', 'c'], dtype='object', name='col_1')

pt_df.columns:
Index(['d', 'e', 'f'], dtype='object', name='col_2')

常用的统计函数:

size:   聚合后样本数
sum:    聚合后样本求和
mean:   聚合后样本求均值
count:  聚合后样本计数 注:在使用count的时候应加上引号 'count_col_name' : 'count'

你可能感兴趣的:(pandas,python,pandas)