Pandas阅读中缺失数据的处理

2024-05-23 15:23:26 发布

您现在位置:Python中文网/ 问答频道 /正文

在将CSV数据导入pandas数据框时,我没有找到一个令人满意的解决方案来解决丢失数据的问题。

我有一些数据集,其中我事先不知道哪些列或数据类型是。我希望熊猫能更好地推断如何阅读数据。

我还没有找到真正有用的na_values=...组合。

考虑以下csv文件:

无孔.csv

letter,number
a,1
b,2
c,3
d,4

有孔.csv

letter,number
a,1
,2
b, 
,4

空列.csv

letters,numbers
,1
,2
,3
,4

使用.csv

letter,number
a,1
b,NA
NA,3
d,4

下面是我将它们读入数据帧时发生的情况(代码如下):

**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=[""]

演示孔.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)

Tags: csv数据nonumberobjectwithcolumnnan