使用元组列时 .groupby 和 .agg 中的错误

error in .groupby and .agg when using a tuple column

我在使用时遇到问题 。通过...分组 和 .agg 使用元组列

这是.info()

account_aggregates.info()

<class 'pandas.core.frame.DataFrame'>
Int64Index: 9713 entries, 0 to 9712
Data columns (total 14 columns):
NATIVEACCOUNTKEY           9713 non-null int64
(POLL, sum)              9713 non-null int64
num_cancellations          8 non-null float64

我正在尝试做这样的事情:

session_deciles2_grouped = account_aggregates.groupby(('POLL','sum'))

还有这个:

session_deciles22=session_deciles2_grouped[('POLL','sum')].agg(['mean','count'])

但无法识别这些列 - 我一直收到键错误。

这里需要

account_aggregates.groupby([('POLL','sum'),])

account_aggregates.groupby(('POLL','sum')) 不起作用的原因是因为 ('POLL','sum') 是一个集合,而 groupby 读取它是因为有一个名为 POLL 的列并且有一个名为 sum 的列,并使用这两列进行 groupby 操作。

当我们将 ('POLL','sum') 放入列表中时,意味着按名为 ('POLL','sum').

的列分组

因此,account_aggregates.groupby([('POLL','sum'),])account_aggregates.groupby((('POLL','sum'),)) 将起作用。