Python 某一行出现多少次?
我刚开始研究熊猫,试图找出如何计算一排熊猫被看到的次数。我需要添加一个新列,显示重复行的出现次数,并只显示唯一的行 因此:Python 某一行出现多少次?,python,pandas,Python,Pandas,我刚开始研究熊猫,试图找出如何计算一排熊猫被看到的次数。我需要添加一个新列,显示重复行的出现次数,并只显示唯一的行 因此: team runs team 1 5 team 1 5 team 1 5 team 2 5 将变成这样: team runs occurrences team 1 5 3 team 2 5 1 一旦你明白了一行的意思,这就很容易了。我只是使用stringifed值的散列。如果你有一
team runs
team 1 5
team 1 5
team 1 5
team 2 5
将变成这样:
team runs occurrences
team 1 5 3
team 2 5 1
一旦你明白了一行的意思,这就很容易了。我只是使用stringifed值的散列。如果你有一个替代的定义,那么它也会起作用
In [37]: df = DataFrame({'A' : [1,1,1,2,3,3], 'B' : [2,2,2,2,3,3]})
In [38]: df
Out[38]:
A B
0 1 2
1 1 2
2 1 2
3 2 2
4 3 3
5 3 3
计算每行的哈希值。相同的“行”产生相同的哈希
In [39]: hashed = df.apply(lambda x: hash(str(x.values)), axis=1)
In [40]: hashed
Out[40]:
0 4112993419872972622
1 4112993419872972622
2 4112993419872972622
3 7113020419917972579
4 6113011419891972603
5 6113011419891972603
dtype: int64
将值计数映射回原始索引。您可以将take_last=False
传递到。如果需要第一个唯一行(而不是最后一行),请删除重复项()
1.问题是什么。2.让我们看看你的尝试。这太棒了,非常感谢杰夫。这将为我提供行号和出现次数。我如何将原始列附加到此数据中,以便查看原始数据,而不仅仅是行号?或者,对于我来说,一个更好的提问方式是:当这将值计数映射回原始索引时,是否也可以查看原始数据?我只需分组并计数,然后在还是以不同的方式完成任务?你能告诉我这是怎么做的吗?问一个新问题-它代替了上面的问题
In [41]: hashed.drop_duplicates().map(hashed.value_counts())
Out[41]:
0 3
3 1
4 2
dtype: int64