似乎非常直截了当。该列通常包含数字,但由于某些原因,其中一些包含非数字字符。我想找到所有这些。我正在使用此代码:
df_other_values.total_count.str.contains('[^0-9]')
但是我收到以下错误:
AttributeError: Can only use .str accessor with string values, which use
np.object_ dtype in pandas
所以我尝试了这个:
df_other_values = df_other.total_countvalues
df_other_values.total_count.str.contains('[^0-9]')
但收到以下错误:
AttributeError: 'DataFrame' object has no attribute 'total_countvalues'
所以不要再进一步走下兔子洞,我认为必须有办法做到这一点,而不必将我的数据帧更改为np.object。请指教。
感谢。
答案 0 :(得分:0)
我认为您需要先astype
投放到string
,然后按boolean indexing
进行过滤:
df1 = df[df_other_values.total_count.astype(str).str.contains('[^0-9]')]
使用isnumeric
的替代解决方案:
df1 = df[~df_other_values.total_count.astype(str).str.isnumeric()]