将`[data2]`和`[[data2]]`与`groupby`一起使用有什么区别?

时间:2016-07-01 07:14:00

标签: python pandas dataframe group-by

我正在使用Python进行数据分析教程,并希望在使用[data2]时使用[[data2]]groupby获得输出的一些说明。

pic

1 个答案:

答案 0 :(得分:3)

如果使用:

[data2]

您获得Series Multiindex

如果使用子集

[[data2]]

您获得DataFrame Multiindex

如果使用:

df.groupby(['key1','key2'], as_index=False)['data2'].mean()

如果DataFrame列没有3,则会获得Multiindex

如果使用其他形式,可能会更清楚:

import pandas as pd
df = pd.DataFrame({'key1':[1,2,2,1,2,2],
                   'key2':[4,4,4,4,5,5],
                   'data2':[7,8,9,1,3,5],
                   'D':[1,3,5,7,9,5]})

print (df)
   D  data2  key1  key2
0  1      7     1     4
1  3      8     2     4
2  5      9     2     4
3  7      1     1     4
4  9      3     2     5
5  5      5     2     5


print (df['data2'].groupby([df.key1,df.key2]).mean())
key1  key2
1     4       4.0
2     4       8.5
      5       4.0
Name: data2, dtype: float64

print (df[['data2']].groupby([df.key1,df.key2]).mean())
           data2
key1 key2       
1    4       4.0
2    4       8.5
     5       4.0