作为数据分析练习的一部分,我正在将 Excel 工作表读入 pandas 数据框。
df = pd.ExcelFile('file.xlsx').parse(0)
nullcounts = df.isnull().sum().to_frame('null_records')
为我的数据帧中的每个系列生成一个带有空计数的漂亮帧。但是如果字符串“NA”出现在一行数据中,我不希望isnull
返回操作True
.
有没有一种简单的方法可以做到这一点,而无需对特定列/数据帧的规则进行硬编码?
编辑:看来我的源数据中的 NA 在读入 pandas 时被忽略,因为当我加载数据并进行视觉比较时,我看到NaN
excel中哪里有NA
.
If use read_excel http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html可以定义哪些值被转换为NaN
带参数keep_default_na
and 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)