Проверьте, являются ли значения в столбце pandas dataframe целочисленными, и запишите их в список, если нет - PullRequest
0 голосов
/ 21 мая 2019

У меня есть pandas dataframe со столбцом, который может иметь целые числа, число с плавающей запятой, строку и т. Д. Я хотел бы перебрать все строки и проверить, является ли каждое значение целым числом, а если нет, я хотел бы создать список с ошибкой значения (значения, которые не являются целыми числами)

Я пробовал isnumeric (), но не мог перебрать каждую строку и записать ошибки для вывода. Я пытался использовать iterrows (), но он конвертирует все значения в плавающее.

ID     Field1
1      1.15
2      2
3      1
4      25
5      and

Ожидаемый результат:

[1.15,"and"]

1 Ответ

2 голосов
/ 21 мая 2019

Если «Field1» является столбцом строк, используйте str.isdigit (возвращает True только для целых чисел) и отрицайте:

df.loc[~df['Field1'].str.isdigit(), 'Field1'].tolist()
# ['1.15', 'and']

В качестве альтернативы, если столбец содержит смешанные типы, используйте

df.loc[~df['Field1'].astype(str).str.isdigit(), 'Field1'].tolist()
# [1.15, 'and']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...