Я не нашел удовлетворительного решения проблемы отсутствия данных при импорте CSV-данных в pandas DataFrame.Работа с отсутствующими данными в Pandas read_csv
У меня есть наборы данных, где Я не знаю заранее, какие столбцы или типы данных. Я бы хотел, чтобы панды лучше справлялись с тем, как читать данные.
Я не нашёл комбинацию из na_values=...
, которая действительно помогает.
Рассмотрим следующие файлы CSV:
no_holes.csv
letter,number
a,1
b,2
c,3
d,4
with_holes.csv
letter,number
a,1
,2
b,
,4
empty_column.csv
letters,numbers
,1
,2
,3
,4
with_NA.csv
letter,number
a,1
b,NA
NA,3
d,4
Вот что происходит, когда я читаю их в DataFrame (код ниже):
**no holes**
letter number
0 a 1
1 b 2
2 c 3
3 d 4
letter object
number int64
dtype: object
**with holes**
letter number
0 a 1
1 NaN 2
2 b
3 NaN 4
letter object
number object
dtype: object
**empty_column**
letters numbers
0 NaN 1
1 NaN 2
2 NaN 3
3 NaN 4
letters float64
numbers int64
dtype: object
**with NA**
letter number
0 a 1.0
1 b NaN
2 NaN 3.0
3 d 4.0
letter object
number float64
dtype: object
Есть ли способ сказать панд предположить пустой значения от object
типа? Я пробовал na_values=[""]
.
demo_holes.py
import pandas as pd
with_holes = pd.read_csv("with_holes.csv")
no_holes = pd.read_csv("no_holes.csv")
empty_column = pd.read_csv("empty_column.csv")
with_NA = pd.read_csv("with_NA.csv")
print("\n**no holes**")
print(no_holes.head())
print(no_holes.dtypes)
print("\n**with holes**")
print(with_holes.head())
print(with_holes.dtypes)
print("\n**empty_column**")
print(empty_column.head())
print(empty_column.dtypes)
print("\n**with NA**")
print(with_NA.head())
print(with_NA.dtypes)
попробовать 'na_values =» «' с одним пробелом полукокса. – HYRY