加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2021-01-17 09:29:14 所属栏目:Python 来源:互联网
导读:给出一个数据框,记录一些这样的书的使用: Name Type IDBook1 ebook 1Book2 paper 2Book3 paper 3Book1 ebook 1Book2 paper 2 我需要得到所有书籍的数量,保留其他列,并得到这个: Name Type ID CountBook1 ebook 1 2Book2 p

给出一个数据框,记录一些这样的书的使用:

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

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读