вы можете получить типы путем итерации через iterrows
Приведенный ниже код даст вам типы, например str
, int
и т. Д.
[type(r['column_name']) for i,r in df.iterrows()]
Опубликовать это выможет выполнить проверку.
пример: для фильтрации строк из строки: я бы использовал понимание списка как:
[r['column_name'] for i,r in df.iterrows() if type(r['column_name'])==str]
, вы также можете использовать:
for i,r in df.iterrows():
if type(r['column_name'])==str:
print(r['column_name'])
РЕДАКТИРОВАТЬ:
Следующий фрагмент кода дает вам все данные, которые не являются целыми:
df[~df.applymap(lambda x: isinstance(x, (int)))].dropna(how="all")
РЕДАКТИРОВАТЬ:
На основе ваших комментариев, вы можете попробовать это:
for i,r in df.iterrows():
if type(r['id'])!=int:
print(i,r['id'])
или, если вы имели в виду int как числовой, приведенный ниже код даст вам строки, в которых есть нечисловые данные
df[~df.applymap(np.isreal).all(1)]
надеюсь, это поможет.