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

问题描述 投票:-1回答:1

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

print(sum([True for idx,row in df.iterrows() if 
any(row.str.contains('[?]'))]))
python pandas missing-data
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.