理解level = 0和group_keys

时间:2018-04-16 14:01:18

标签: python pandas dataframe

我正在使用pandas groupby并找到ex:

的大小
dd=df.groupby(['value','year','team']).size()

它给我的输出为:

value  year  team
0      2000  B       2
1      2000  A       2
       2001  A       1
2      2001  B       1
3      2001  A       2

我的问题是什么是level = 0和group_keys(如下所示),它适用于分组数据帧dd。

ddf3=dd.groupby(level=0,group_keys=False).apply(function).reset_index()

是(level = 0)在分组数据框dd中的'value'列。

请帮帮我。

2 个答案:

答案 0 :(得分:4)

当您有多个索引并且只想使用DataFrame的一个索引时,将使用groupby()中的级别。 例如:

df = pd.DataFrame([{'values':0,'year':2000,'team':'A'}, 
                   {'values':1,'year':2000,'team':'B'}, 
                   {'values':2,'year':2001,'team':'B'}
                  ])
df = df.groupby(['values','year','team']).size()
df

输出:

values  year  team
0       2000  A       1
1       2000  B       1
2       2001  B       1
df = df.groupby(level=1).size()
df

输出:

year
2000    2
2001    1

答案 1 :(得分:1)

python string padding

它指定df.groupby(level=0) 的第一个索引。当您有多个索引并且只需要Dataframe来使用数据框的多个索引中的一个索引时。

这意味着:

  • 0级->第一个索引
  • 级别1->第二索引
  • 等。