第六课: - GroupBy函数

第 6 课

 

让我们看一看 groupby 函数。

In [1]:
# Import libraries
import pandas as pd
import sys
In [2]:
print('Python version ' + sys.version)
print('Pandas version ' + pd.__version__) 
Python version 3.5.1 |Anaconda custom (64-bit)| (default, Feb 16 2016, 09:49:46) [MSC v.1900 64 bit (AMD64)]
Pandas version 0.20.1
In [3]:
# 我们的小数据集
d = {'one':[1,1,1,1,1],
     'two':[2,2,2,2,2],
     'letter':['a','a','b','b','c']}

# 建立数据帧
df = pd.DataFrame(d)
df
Out[3]:
 letteronetwo
0 a 1 2
1 a 1 2
2 b 1 2
3 b 1 2
4 c 1 2
In [4]:
#创建组对象
one = df.groupby('letter')

# 应用求和函数
one.sum()
Out[4]:
 onetwo
letter  
a 2 4
b 2 4
c 1 2
In [5]:
letterone = df.groupby(['letter','one']).sum()
letterone
Out[5]:
  two
letterone 
a1 4
b1 4
c1 2
In [6]:
letterone.index
Out[6]:
MultiIndex(levels=[['a', 'b', 'c'], [1]],
           labels=[[0, 1, 2], [0, 0, 0]],
           names=['letter', 'one'])
 
您可能不希望通过索引得到分组的列,这可以很容易地实现,如下所示。
In [7]:
letterone = df.groupby(['letter','one'], as_index=False).sum()
letterone
Out[7]:
 letteronetwo
0 a 1 4
1 b 1 4
2 c 1 2
In [8]:
letterone.index
Out[8]:
Int64Index([0, 1, 2], dtype='int64')

This tutorial was rewrited by 六尺巷人_CDS

posted on 2018-05-22 11:44  六尺巷人  阅读(1034)  评论(0编辑  收藏  举报

导航