我实际上是想在熊猫中做一个COUNTIF,以计算一行中有多少项与第一列中的数字相匹配。
数据框:
a b c d
1 2 3 1
2 3 4 2
3 5 6 3
所以我想计算匹配a的行(b,c,d)中的实例。例如,在第1行中,它应该为1,因为只有d匹配a。
我已经为此进行了很多搜索,但到目前为止,仅发现了示例,该示例的示例使用通用数(例如,对所有大于0的值进行计数),而不是基于dataframe列。我猜想它的某种形式的逻辑掩盖了基于列,但df == df.a
似乎不起作用
您可以使用eq
,您可以传递axis
参数来指定比较的方向,然后可以进行行总和以计算匹配值的数量:
df.eq(df.a, axis=0).sum(1) - 1
#0 1
#1 1
#2 1
#dtype: int64
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句