我有一个熊猫数据框。在其众多的列ID,这是布尔,区,这给年度和季度(如2016Q1)和国家(如德克萨斯州,加利福尼亚州),所以它看起来是这样的:如何在熊猫数据框中以百分比聚合熊猫数据框中的布尔列作为百分比
id Quarter State
True 15Q1 AZ
False 17Q1 WY
True 14Q2 NH
False 15Q1 AZ
我想建立一个数据透视表,ID为ID,状态为索引,四分之一为列。我想使用np.mean
作为agg_func
,但我得到DataError: No numeric types to aggregate
当我使用count
作为聚合函数时,它显示正确。当我总计np.mean(df['id'])
时,我得到.64
,这正是我正在寻找的输出类型,除了更多的聚合而不是粒度。那么为什么np.sum
在那里工作,但不是当我用它作为数据透视表中的聚合函数时?我如何才能使其工作。
我想我可以将True
和False
的转换为1和0,但我不想这样做,因为我实际上有很多'id'列,我期望以这种方式聚合。
编辑:所以这是一个问题,只弹出我的完整数据集,而不是我用作示例的玩具数据集。如果我在“年”或“状态”中使用平均值作为聚合函数,我还会再玩一些,并且ValueError: No objects to concatenate
仍会弹出。它甚至在我尝试时弹出df['id'].describe()
有没有人遇到过这样的问题?
嗯,这就是我的尝试,它没有奏效。我认为我的实际数据集有些奇怪,玩具数据集没有。我会进一步深入研究,但我怀疑我可以把所有问题都弄清楚。不过,感谢您的帮助。 – yeangst