我想要一个返回True的函数,如果对于列中的每一行,它们只包含与其他列中的元素或NaN相同的元素。
示例:
A B C
1 1 NaN
4 NaN NaN
2 2 2
该函数应在此输入
上返回True
A B C
1 2 1
3 3 3
该函数应在此输入中返回False
。 (由于1和2或不相同,也不是NaN)
编辑:
==
或equals()
不起作用,因为:
答案 0 :(得分:4)
这里的想法是在排除NAN
值后计算数据框中每行的唯一值,如果count等于1
这意味着您的条件已满足,其他明智的返回false
df.apply( lambda x: len(x[-x.isnull()].unique()) == 1 , axis = 1).all()
然后只有当所有行都满足条件
时才使用返回all()
的{{1}}