作为数据分析练习的一部分,我正在将 excel 表读取到 Pandas 数据框中。
df = pd.ExcelFile('file.xlsx').parse(0)
nullcounts = df.isnull().sum().to_frame('null_records')
Run Code Online (Sandbox Code Playgroud)
为我的数据帧中的每个系列生成一个带有空计数的漂亮帧。但是如果字符串 'NA' 出现在一行数据中,我不希望isnull操作返回True。
有没有一种简单的方法可以在不为特定列/数据帧硬编码规则的情况下做到这一点?
编辑:看来,被读入大熊猫当我的源数据在NAS被忽略,因为当我加载数据,并比较直观地看到我NaN在Excel中,那里有NA。
如果read_excel可以NaN使用参数keep_default_na和定义哪些值转换为na_values:
df = pd.read_excel('file.xlsx')
print (df)
a b
0 NaN NaN
1 3.0 6.0
nullcounts = df.isnull().sum().to_frame('null_records')
print (nullcounts)
null_records
a 1
b 1
df = pd.read_excel('file.xlsx',keep_default_na=False,na_values=['NaN'])
print (df)
a b
0 NA NaN
1 3 6.0
nullcounts = df.isnull().sum().to_frame('null_records')
print (nullcounts)
null_records
a 0
b 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1681 次 |
| 最近记录: |