我试图在pandas中基本上做一个COUNTIF来计算一行中有多少项与第一列中的数字相匹配。
数据帧:
a b c d
1 2 3 1
2 3 4 2
3 5 6 3
所以我想计算与a匹配的实例(b,c,d)。例如,在第1行中,它应为1,因为只有d匹配。
我已经搜索了相当多的内容,但到目前为止只发现了一个常见数字(例如计算所有值大于0)但不基于数据帧列的示例。我猜它是某种形式的逻辑,基于列掩盖,但df == df.a
似乎没有工作
答案 0 :(得分:6)
您可以使用MATCH p=(:Foo {id:1})-[:BAR*]->(:Foo {id:2})
RETURN
REDUCE(s = 1.0, n IN NODES(p)[0..-1] | s / SIZE((n)-->())) AS connectedness,
p
,您可以传递eq
参数来指定比较的方向,然后您可以执行行总和来计算匹配值的数量:
axis
答案 1 :(得分:3)
df.apply(lambda x: (x == x[0]).sum()-1,axis=1)