我有一个带有空单元格的数据框,如下所示:
Col1 Col2 Col3 Col4 Col5
A B C
G
E R P
J
C K T
我想创建一个额外的列,每行包含空单元格的数量,因此预期的输出是这样的:
ID Col1 Col2 Col3 Col4 Col5 No_Of_Empty
1 A B C 2
2 G 3
3 E R P 2
4 J 3
5 C K T 3
以下是我的尝试:
df['No_Of_Des'] = df.iloc[:,1::].apply(lambda x: sum(x==' '), axis = 1)
我得到的输出并不像预期的那样,我不确定这里有什么问题?
答案 0 :(得分:2)
来源DF:
In [168]: df
Out[168]:
Col1 Col2 Col3 Col4 Col5
0 A B C
1 G
2 E R P
3 J
4 C K T
演示:
In [170]: df.iloc[:, 1:].eq("")
Out[170]:
Col2 Col3 Col4 Col5
0 True False True False
1 True True False True
2 False True True False
3 True False True True
4 False True True False
In [171]: df.iloc[:, 1:].eq("").sum(axis=1)
Out[171]:
0 2
1 3
2 2
3 3
4 2
dtype: int64
In [172]: df['No_Of_Empty'] = df.iloc[:, 1:].eq("").sum(axis=1)
In [173]: df
Out[173]:
Col1 Col2 Col3 Col4 Col5 No_Of_Empty
0 A B C 2
1 G 3
2 E R P 2
3 J 3
4 C K T 2