gpt4 book ai didi

python - 计算 python 中 pandas 一行的出现次数

转载 作者:行者123 更新时间:2023-11-28 21:24:48 24 4
gpt4 key购买 nike

我有一个包含数千行和 4 列的 pandas 数据框。即:

A B C D 
1 1 2 0
3 3 2 1
3 1 1 0
....

有什么方法可以统计某一行出现了多少次?例如 [3,1,1,0] 可以找到多少次,并返回这些行的索引?

最佳答案

如果你只寻找一行,那么我可能会做类似的事情

>>> df.index[(df == [3, 1, 1, 0]).all(axis=1)]
Int64Index([2, 3], dtype=int64)

--

解释如下。开始于:

>>> df
A B C D
0 1 1 2 0
1 3 3 2 1
2 3 1 1 0
3 3 1 1 0
4 3 3 2 1
5 1 2 3 4

我们与我们的目标进行比较:

>>> df == [3,1,1,0]
A B C D
0 False True False True
1 True False False False
2 True True True True
3 True True True True
4 True False False False
5 False False False False

找到匹配的:

>>> (df == [3,1,1,0]).all(axis=1)
0 False
1 False
2 True
3 True
4 False
5 False

并使用这个 bool 系列从索引中选择:

>>> df.index[(df == [3,1,1,0]).all(axis=1)]
Int64Index([2, 3], dtype=int64)

如果您不计算一行的出现次数,而是想对每一行重复执行此操作,因此您真的想同时定位所有行,那么有比一次又一次执行上述操作更快的方法。但这对于一行来说应该足够好了。

关于python - 计算 python 中 pandas 一行的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15453237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com