我有一個需要搜索分號的熊貓數據框(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