Как исправить столбец с числовыми значениями, который воспринимается как строковое поле из-за пустых строк в кадре данныPython

Программы на Python
Anonymous
Как исправить столбец с числовыми значениями, который воспринимается как строковое поле из-за пустых строк в кадре данны

Сообщение Anonymous »

У меня есть файл df с некоторыми столбцами, которые должны быть числовыми полями. Однако в этих столбцах существуют пустые строки, что приводит к тому, что их тип данных неправильно назначается как «объект». Как удалить эти пустые строки и преобразовать столбец в правильный тип данных (int/float)?
Предположим, столбец A выглядит так:

Код: Выделить всё

2
1
0
''
NULL
Name: A, dtype: object
Ожидаемый столбец A должен быть

Код: Выделить всё

2
1
0
NULL
NULL
Name: A, dtype: int
Я попробовал приведенное ниже, но кажется, что тип данных не изменился, потенциально все числа по-прежнему считаются строками.

Код: Выделить всё

print(df[col].dtypes)
df[col].replace(r'^\s*$', np.nan, regex=True, inplace=True)
print(df[col].dtypes)
Выход:

Код: Выделить всё

object
object
Я не хочу сначала использовать str.isnumeric() для скрытия типа данных, поскольку это повлияет на другие столбцы реальных строк. Есть ли лучший подход?

Подробнее здесь: https://stackoverflow.com/questions/786 ... because-of

Вернуться в «Python»