数据框中有多少行包含问号符号

时间:2017-12-28 16:38:05

标签: python pandas missing-data

我有从csv制作的数据框,其中缺少的数据由?表示?符号。我想检查一下有多少行?发生次数。 到目前为止,我做了这个,但它显示了所有行的数量,而不仅仅是那些行?发生。

print(sum([True for idx,row in df.iterrows() if 
any(row.str.contains('[?]'))]))

1 个答案:

答案 0 :(得分:0)

您可以使用apply + str.contains,假设您的所有列都是字符串。

c = np.sum(df.apply(lambda x: x.str.contains('\?')).values)

如果您只需要选择字符串列,请使用select_dtypes -

i = df.select_dtypes(exclude=['number']).apply(lambda x: x.str.contains('\?')) 
c = np.sum(i.values)

或者,要查找包含?的行的数字,请使用

c = df.apply(lambda x: x.str.contains('\?')).any(axis=1).sum()

演示 -

df

      A      B
0   aaa   ?xyz
1   bbb  que!?
2     ?    ddd
3  foo?    fff
df.apply(lambda x: x.str.contains('\?')).any(1).sum()
4