У меня есть pandas DataFrame (df
), что мне нужно найти точку с запятой. Я впервые попробовал сpandas - поиск символа в DataFrame
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 (лямбда х:«;»ул (х))'. – Abdou