大熊猫的增量计数

时间:2018-03-12 08:44:07

标签: python pandas

我有如下数据集。并希望按C1计算C2组的数量。

C1  C2
a   1
a   2
a   3
a   4
a   5
b   1
b   2
b   3
b   4
b   5
b   6
c   6
c   7

预期结果如下。 b 的计数应为 a 中不存在的项目。 c 相同,即 a b

中不存在
a   5
b   1
c   1

有没有任何逻辑我可以在熊猫中使用来获得这个。除了遍历记录

1 个答案:

答案 0 :(得分:2)

您可以删除'C2'列上的重复项,并计算'C1'上剩余的值:

print(df.drop_duplicates('C2')['C1'].value_counts())
#  a    5
#  b    1
#  c    1
#  Name: C1, dtype: int64

输出将是一系列。如果您需要数据框,可以使用to_frame

df = df.drop_duplicates('C2')['C1'].value_counts().to_frame()
print(df)
#     C1
#  a   5
#  b   1
#  c   1

<强>买者

  • value_counts默认对输出进行排序。在这种情况下,它没有什么区别,但您可以传递sort=False,这样行(索引)将保持与原始数据帧中相同的顺序。