python – 如何在熊猫中分组数据框并保留列

前端之家收集整理的这篇文章主要介绍了python – 如何在熊猫中分组数据框并保留列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
给出一个数据框,记录一些这样的书的使用:
Name   Type   ID
Book1  ebook  1
Book2  paper  2
Book3  paper  3
Book1  ebook  1
Book2  paper  2

我需要得到所有书籍的数量,保留其他列,并得到这个:

Name   Type   ID    Count
Book1  ebook  1     2
Book2  paper  2     2
Book3  paper  3     1

如何才能做到这一点?

谢谢!

解决方法

你想要以下内容
In [20]:
df.groupby(['Name','Type','ID']).count().reset_index()

Out[20]:
    Name   Type  ID  Count
0  Book1  ebook   1      2
1  Book2  paper   2      2
2  Book3  paper   3      1

在你的情况下,“名称”,“类型”和“ID”列在值中匹配,所以我们可以在这些groupby调用countreset_index.

另一种方法是使用transform添加“Count”列,然后调用drop_duplicates:

In [25]:
df['Count'] = df.groupby(['Name'])['ID'].transform('count')
df.drop_duplicates()

Out[25]:
    Name   Type  ID  Count
0  Book1  ebook   1      2
1  Book2  paper   2      2
2  Book3  paper   3      1

猜你在找的Python相关文章