我有一个需要搜索分号的熊猫数据框(df
)。我第一次尝试用熊猫 - 在数据框中搜索字符
semicolon_check = df.to_string().__contains__(';')
,
但它是非常缓慢的,并在大DataFrames的情况下,我碰到一个内存错误。然后我试图遍历列与.str
,但不是所有列都是字符串所以每当我达到我收到了一条错误
AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas
所以我结束了这段代码
for col in df.columns: if df[col].dtype == 'O': if df[col].str.contains(r';').any(): print 'found in ' + col
有没有更简单的方法来实现目标?以上所述虽然按预期工作似乎对于像价值搜索这样的基本任务来说有点过分了。
这可能不是最有效的方法,但它可以安全地循环:'df.applymap(lambda x:“;”in str(x))''。 – Abdou