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

Python 数据框中有多少行包含问号符号,python,pandas,missing-data,Python,Pandas,Missing Data,我有一个由csv制作的数据框,其中缺少的数据用?象征。我想检查其中有多少行?与发生次数一起发生。 到目前为止,我做了这个,但它显示了所有行的数量,而不仅仅是其中的那个行?发生 print(sum([True for idx,row in df.iterrows() if any(row.str.contains('[?]'))])) 假设所有列都是字符串,则可以使用apply+str.contains c = np.sum(df.apply(lambda x: x.str.contains(

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

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

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

c = np.sum(df.apply(lambda x: x.str.contains('\?')).values)
如果只需要选择字符串列,请使用
select\u 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

但这将显示所有问号的数量,而不是带有问号的行的数量。如果有带两个问号的行,则将添加2个问号1@kurbielp你这样描述你的问题。对于修改后的问题,请使用
df.apply(lambda x:x.str.contains('\?')).any(1.sum()
df.apply(lambda x: x.str.contains('\?')).any(1).sum()
4