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

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

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

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

如何才能做到这一点?

谢谢!

解决方法

你想要以下内容
  1. In [20]:
  2. df.groupby(['Name','Type','ID']).count().reset_index()
  3.  
  4. Out[20]:
  5. Name Type ID Count
  6. 0 Book1 ebook 1 2
  7. 1 Book2 paper 2 2
  8. 2 Book3 paper 3 1

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

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

  1. In [25]:
  2. df['Count'] = df.groupby(['Name'])['ID'].transform('count')
  3. df.drop_duplicates()
  4.  
  5. Out[25]:
  6. Name Type ID Count
  7. 0 Book1 ebook 1 2
  8. 1 Book2 paper 2 2
  9. 2 Book3 paper 3 1

猜你在找的Python相关文章