Python 大熊猫的递增计数
我的数据集如下。并希望通过C1获得C2组的计数,如下所示Python 大熊猫的递增计数,python,pandas,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 有没有什么逻辑我可以用熊猫得到这个。除了遍历记录之外,您还可以删除'C2'列上的重复项,并计算'C1'上留下的值: print(df.drop_duplicates('
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
有没有什么逻辑我可以用熊猫得到这个。除了遍历记录之外,您还可以删除
'C2'
列上的重复项,并计算'C1'
上留下的值:
print(df.drop_duplicates('C2')['C1'].value_counts())
# a 5
# b 1
# c 1
# Name: C1, dtype: int64
输出将是一个系列。如果需要数据帧,您可以使用创建数据帧
:
df = df.drop_duplicates('C2')['C1'].value_counts().to_frame()
print(df)
# C1
# a 5
# b 1
# c 1
警告
- 默认情况下,
对输出进行排序。在这种情况下,这没有什么区别,但是您可以传递value\u计数
,这样行(索引)将保持与原始数据帧中相同的顺序sort=False