import pandas as pd
from pandas import *
import numpy as np
df = DataFrame({‘key1’:[‘a’,’a’,’b’,’b’,’a’],
‘key2’:[‘one’,’two’,’one’,’two’,’one’],
‘data1’:np.random.randn(5),
‘data2’:np.random.randn(5)
})
print(df)
grouped = df[‘data1’].groupby(df[‘key1’])
print(grouped.mean())
data1 data2 key1 key2
0 0.702597 -0.057953 a one
1 0.605195 -1.788537 a two
2 -0.637318 -0.710580 b one
3 0.473174 0.652865 b two
4 -0.315555 0.190096 a one
key1
a 0.330746
b -0.082072
Name: data1, dtype: float
也可以一次传入多个数组
grouped = df[‘data1’].groupby(df[‘key1’])
means = df[‘data1’].groupby([df[‘key1’],df[‘key2’]]).mean()
print(means)
data1 data2 key1 key2
0 -1.559788 -1.524839 a one
1 -0.754890 -0.376088 a two
2 0.859864 0.059619 b one
3 0.132361 -0.170424 b two
4 0.371940 1.779507 a one
key1 key2
a one -0.593924
two -0.754890
b one 0.859864
two 0.132361
Name: data1, dtype: float64
Process finished with exit code 0
from pandas import *
import numpy as np
df = DataFrame({‘key1’:[‘a’,’a’,’b’,’b’,’a’],
‘key2’:[‘one’,’two’,’one’,’two’,’one’],
‘data1’:np.random.randn(5),
‘data2’:np.random.randn(5)
})
print(df)
print(‘+++++++++++++++++++++++++++++’)
for name,group in df.groupby(‘key1’):
print(name)
print(group)
print(‘++++++++++++++++++++++++++++++’)
for name,group in df.groupby(‘key1’):
print(group)pieces = dict(list(df.groupby(‘key1’)))
print(pieces)
{‘a’: data1 data2 key1 key2
0 -0.939595 0.509545 a one
1 0.255103 -1.394938 a two
4 -0.721323 0.274230 a one, ‘b’: data1 data2 key1 key2
2 0.173014 1.288419 b one
3 0.300537 -1.816507 b two}import pandas as pd
from pandas import *
import numpy as np
people = pd.DataFrame(np.random.randn(5,5),columns=[‘a’,’b’,’c’,’d’,’e’],
index= [‘Joe’,’Steve’,’Wes’,’Jim’,’Travis’])
print(people)
key_list = [‘one’,’one’,’one’,’two’,’two’]
result = people.groupby([len,key_list]).min()
print(result)