У меня есть кадр данных с возможными объектами, смешанными с числовыми значениями.
Моя цель - изменить каждое значение на простое целое число, однако некоторые из этих значений имеют -
между числами.
Минимальный рабочий пример выглядит так:
import pandas as pd
d = {'API':[float(4433), float(3344), 6666, '6-9-11', '8-0-11', 9990]}
df = pd.DataFrame(d)
Я пытаюсь:
df['API'] = df['API'].str.replace('-','')
Но это оставляет меня с nan
для числовых типов, потому что он ищет во всем кадре только строки.
Вывод:
API
nan
nan
nan
6911
8011
nan
Я бы хотел вывод:
API
4433
3344
6666
6911
8011
9990
Где все типы int
.
Есть ли простой способ позаботиться только о типах объектов в Серии, но оставить фактические цифры в такте? Я использую эту технику для больших наборов данных (более 300 000 строк), поэтому что-то вроде lambda
или series operations
будет предпочтительнее, чем цикл поиска.