Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python检查冒号是否包含相同的值或NaN_Python_Pandas_Dataframe_Equals - Fatal编程技术网

使用Python检查冒号是否包含相同的值或NaN

使用Python检查冒号是否包含相同的值或NaN,python,pandas,dataframe,equals,Python,Pandas,Dataframe,Equals,如果列中的每一行只包含与其他列中的元素相同或NaN的元素,我希望函数返回True 例如: 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或不相同,且两者都不相同) 编辑: =或equals()不起作用,因为: 它将NaN视为与NaN不同 如果我告诉熊猫们不要这样做,那么NaN和4仍然是不同的 这里的想法是在排除NAN值后,计算数据帧中每行的

如果列中的每一行只包含与其他列中的元素相同或NaN的元素,我希望函数返回True

例如:

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或不相同,且两者都不相同)

编辑:

=
equals()
不起作用,因为:

  • 它将NaN视为与NaN不同
  • 如果我告诉熊猫们不要这样做,那么NaN和4仍然是不同的

  • 这里的想法是在排除
    NAN
    值后,计算数据帧中每行的唯一值,如果count等于
    1
    ,这意味着满足了条件,否则返回false

    df.apply( lambda x: len(x[-x.isnull()].unique()) == 1 , axis = 1).all()
    

    然后使用
    all()
    仅当所有行满足条件时才返回
    true
    。这里的想法是在排除
    NAN
    值后,计算数据帧中每行的唯一值,如果count等于
    1
    ,则表示满足条件,否则返回false

    df.apply( lambda x: len(x[-x.isnull()].unique()) == 1 , axis = 1).all()
    

    然后使用
    all()
    仅当所有行满足条件时才返回
    true

    这是我在这里的第一篇文章,我不确定应该详细说明什么。我也不知道如何在熊猫身上做到这一点。如果我没有任何新的想法,我的前进之路就是用纯python解决它。我不认为这对stackoverflow特别有趣。你试过
    df['A']==df['B']
    ?另外,您的输出需要解释,因为我不明白return True和return False在这里的意思。我将进行编辑。这是我在这里的第一篇文章,我不确定我应该详细说明什么。我也不知道如何在熊猫身上做到这一点。如果我没有任何新的想法,我的前进之路就是用纯python解决它。我不认为这对stackoverflow特别有趣。你试过
    df['A']==df['B']
    ?此外,您的输出需要解释,因为我不明白返回True和返回False在这里的意思,我将进行编辑。