我有一个数据集,我需要groupby()并找到每个唯一组合的计数。在
body-style make
0 convertible alfa-romeo
1 convertible alfa-romeo
2 hatchback alfa-romeo
3 sedan audi
4 sedan audi
我需要生成如下所示的输出:
^{pr2}$尝试了以下代码:
body = pd.DataFrame({'make':['alfa-romeo','alfa-romeo','alfa-romeo','audi','audi'], 'body-style':['convertible','convertible','hatchback','sedan','sedan']})
body.groupby(by=['make','body-style'], as_index=False).count()
此聚合引发“列表索引超出范围”错误。但是,当我从groupby子句中删除任何一列时,它可以给我按剩余列分组的计数。在
如果我将作为_index=False删除,则没有错误,但结果对象将同时具有列-make和body style作为索引的一部分,并且不会有任何计数数据。在
我可以向datframe添加另一列,用1填充它,并在groupby上使用sum()
而不是{
只有至少有一列尚未用于分组时,才能使用
GroupBy.count()
。在如果您按DF中的所有列分组-请改用
.size()
:相关问题 更多 >
编程相关推荐