Python 计算具有特殊值的行

Python count rows with a special values

我的数据框如下所示:

df1:

ident A B C D
1 2 1
2 3
3 1 2 1 5
4 4
5 4 1 3
6 3 2
7 3
8 1
9 1

现在我需要来自那个 df 的分析之类的东西。 它应该看起来像:

df2:

name just_name_sum
A 3
B 1
C 1
D 0

列 just_name_sum 计算 df1 中除 ident 列外其他列中没有其他条目的列。 我怎么算这样的东西?

感谢

您可以通过简单的 for 循环实现此目的:

summation = dict()
df_temp = df.drop('ident', axis=1)
for col in df_temp.columns:
    summation[col] = df_temp.loc[:,df_temp.columns!=col].isna().all(axis =1).sum()
pd.DataFrame([summation]).transpose()

输出:

index 0
A 3
B 1
C 1
D 0

列表理解版本:(如果你是粉丝)

pd.DataFrame([{col: df_temp.loc[:,df_temp.columns!=col].isna().all(axis =1).sum()
              for col in df_temp.columns}]).transpose()