当前位置: 首页 > 面试题库 >

如何在pandas中对数据框进行分组并保留列

毛成济
2023-03-14
问题内容

给定一个记录某些书籍使用情况的数据框,如下所示:

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对它们进行调用count,然后单击reset_index

另一种方法是使用添加“ Count”列transform,然后调用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


 类似资料:
  • 我有一个pandas数据帧像: 我想按第一列进行分组,并将第二列作为行中的列表:

  • 本文向大家介绍如何在JavaScript中对JSON数据进行分组?,包括了如何在JavaScript中对JSON数据进行分组?的使用技巧和注意事项,需要的朋友参考一下 要对JSON数据进行分组,您需要提取所有键并使用。以下是代码- 示例 要运行上述程序,您需要使用以下命令- 输出结果 在这里,我的文件名为demo122.js。这将产生以下输出-

  • 问题内容: 以下是我的数据框。我进行了一些转换以创建类别列,并删除了其所属的原始列。现在,我需要进行分组,以除去公母,并且可以通过总和来汇总。 这是我创建数据框时创建的索引 我假设我想删除索引,并创建日期和类别,然后对指标进行求和。如何在熊猫数据框中执行此操作? 在Ubuntu 12.04上,Python为2.7,熊猫为0.7.0。下面是我运行以下命令时遇到的错误 问题答案: 您可以在现有数据框上

  • 问题内容: 我在DataFrame中有一列带有值: 如何将它们这样分组? 问题答案: 你可以groupby通过自定义使用:

  • 我有一个大的csv文件,其中包含以下格式的数据。 CityId1,名称,地址,........., zip 城市2、姓名、地址等,。。。。。。。,拉链 CityId1,名称,地址,........., zip ......... 城市名称、姓名、地址等,。。。。。。。,拉链 我正在对上面的csv文件执行以下操作: > df1。groupBy($“cityId”)。agg(收集列表(结构(cols.

  • 问题内容: 我有一个由不同子组组成的熊猫数据框。 我想在其组中找到每个ID的排名,值越低越好。在上面的示例中,在组A中,Id 1的排名为1,Id 2的排名为4。在组B中,Id 5的排名为2,在ID 8中的排名为1,因此上。 现在,我通过以下方式评估排名: 按值排序。 创建一个等级函数(假定变量已经排序) 将排名函数分别应用于每个组: 此过程有效,但是当我对数百万行的数据运行时,它确实很慢。是否有人