Панды: Найти и распечатать все поплавки в столбце - PullRequest
0 голосов
/ 01 ноября 2018

Я пытался использовать

if df.loc[df['col_1']] == float:
    print(df.loc[df['col_1']])

Но это не работает. Я просто хочу найти все данные типа float в столбце и посмотреть, что это и где. Как мне это сделать?

Мне нужно сделать это, потому что столбец является объектом в соответствии с df.dtypes, но при попытке выполнить над ним строковые операции я получаю TypeError, что есть числа с плавающей запятой.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Используйте логическую маску для выполнения операций только со строками. Это предполагает, что ваша серия состоит только из числовых и строковых типов.

df = pd.DataFrame({'A': [1, 2, 'hello', 'test', 5, 'another']})

num_mask = pd.to_numeric(df['A'], errors='coerce').isnull()

df.loc[num_mask, 'A'] += ' checked!'

print(df)

                  A
0                 1
1                 2
2    hello checked!
3     test checked!
4                 5
5  another checked!
0 голосов
/ 01 ноября 2018

Итак, я предполагаю, что у вас column type равно object, обычно pandas имеет только один тип данных на столбцы

df.col_1.map(type)==float# will return bool
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...