计算数据框中特定列中的 NaN

Counting NaN in specific columns in a dataframe

我有一个看起来有点像这样的数据框

 A   B   C   D    E   F   G   H
100 100 NaN 100 1000 NaN NaN NaN

我正在尝试计算 A-D 列中 NaN 的实例;然后是列 E-H

我试过的是:

df_["NaN_A-D"] = df[["A", "B", "C", "D"]].isna().sum()
df_["NaN_E-H"] = df[["E", "F", "G", "H"]].isna().sum()

但是新列只是 returns NaN 而不是总结 NaN 的实例(即第一个分组为 1,第二个分组为 3。

请问我做错了什么?

谢谢

你需要 axis=1 因为需要每行的总和,输出也分配给同一个 DataFrame df:

df["NaN_A-D"] = df[["A", "B", "C", "D"]].isna().sum(axis=1)
df["NaN_E-H"] = df[["E", "F", "G", "H"]].isna().sum(axis=1)
print (df)
     A    B   C    D     E   F   G   H  NaN_A-D  NaN_E-H
0  100  100 NaN  100  1000 NaN NaN NaN        1        3