#-*- coding:utf-8 -*-
import pandas as pd
import numpy as np
df=pd.DataFrame({'key1':['a','a','b','b','a'],'key2':['one','two','one','two','one'],
'data1':np.random.randn(5),'data2':np.random.randn(5)})
for name,group in df.groupby('key1'):
print name
print group
#结果:
#a
# data1 data2 key1 key2
#0 -1.389589 0.605121 a one
#1 0.057731 1.387236 a two
#4 0.973961 -1.540356 a one
#b
# data1 data2 key1 key2
#2 -0.476933 -0.110656 b one
#3 -0.015403 0.117257 b two
#多键的情况
for (k1,k2),group in df.groupby(['key1','key2']):
print k1,k2
print group
#结果:
#a one
# data1 data2 key1 key2
# 0 -0.474012 0.159072 a one
# 4 -2.049148 0.389898 a one
# a two
# data1 data2 key1 key2
# 1 2.471597 1.335773 a two
# b one
# data1 data2 key1 key2
# 2 0.249875 0.181691 b one
# b two
# data1 data2 key1 key2
# 3 0.458725 0.040619 b two
pandas中Groupby使用(二)-对分组进行迭代
最新推荐文章于 2024-02-05 15:26:52 发布