我可以在 groupby 函数中使用特定元素而不是使用列名吗?

Can I use a specific element inside the groupby functions instead of using column name?

我正在尝试使用 groupby 函数,有没有办法使用特定元素而不是列名。代码示例。

df.groupby(['Month', 'Place'])['Number'].sum()

这就是我想要做的。

df.groupby(['April', Place'])['Number'].sum()

是的,您可以将任意多的列传递给 groupby

df = pd.DataFrame([['a', 'x', 1], ['a', 'x', 2], ['b', 'y',3], ['b', 'z',4]])
df.columns = ['c1', 'c2', 'c3']
df.groupby(['c1', 'c2'])['c3'].mean()

结果

c1  c2
a   x     1.5
b   y     3.0
    z     4.0

您需要先过滤您的 DataFrame:

df.loc[df['Month'].eq('April')].groupby('Place')['Number'].sum()
#df[df['Month'].eq('April')].groupby('Place')['Number'].sum()