我有一个熊猫列,dtype 'object'
包含数值和值'?'
。
我应该如何继续计算具有'?'
值的行数?
I'm trying to run:
question_mark_count = df['column'].str.contains('?').sum()
在具有数字值和一些问号'?',但我得到错误:
AttributeError: Can only use .str accessor with string values!
当我运行df.dtypes
时,我可以看到列是'object' type
。
我还尝试将列转换为字符串:
df["column"] = df["column"].astype("string")
但是我仍然得到相同的错误。
进一步探索可能性:
df["column"].str.contains('?').value_counts()
对np.nan pd.NA ints floats
或df['column']
免疫
这个怎么样?
>>> (df["column"].str.contains('?')).astype('int').sum()
就我而言,前面的答案几乎是正确的。尝试在contains函数的调用中添加na=False:
df["column"].str.contains('?', na=False).astype('int').sum()