熊猫 - 比较无值

时间:2018-04-23 18:59:45

标签: python pandas

请考虑以下代码段:

a = pd.DataFrame([[None]])
b = pd.DataFrame([[None]])

现在,我想确认它们都包含完全相同的值:

int((a == b).sum())  # should be 1

但它不是1.相反,它返回0.这种行为给我带来麻烦,特别是在assert_frame_equal报告None不是None的情况下,即使它们是:{/ p>

a.iloc[0,0] == b.iloc[0,0]  # True

为什么会这样,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

pandas是特殊的套管NaN,因此被解释为NaN != NaN(因为pd.isnullnp.array_equal一致地对待......这可能是一种解释)。

不是解决方案,而是变通方法 - None,如果他们是NaN而不是>>> np.array_equal(a, b) True ,则可以使用;

np.equal

如果您想要计数而不是bool结果,请使用>>> np.equal(a, b).sum().item() 1 ;

    try {
        Runtime rt = Runtime.getRuntime();
        String command = "keytool " +
                "-genkey -alias blabla -keyalg RSA " +
                "-keystore ecekeystore.jks " +
                "-dname \"CN=MyName, OU=blabla, O=blabla, L=blabla, S=blabla, C=US\" " +
                "-storepass password1 " +
                "-keypass password2";
        System.out.println(command);
        Process pr = rt.exec(command);
        return true;
    } catch (IOException e) {
        e.printStackTrace();
    }