pandas重新定义是不能忽略“不适用”
作为数据分析练习的一部分,我正在将excel表格读入pandas数据框。
df = pd.ExcelFile('file.xlsx').parse(0) nullcounts = df.isnull().sum().to_frame('null_records')
用我的数据框中的每个系列的空数生成一个很好的框架。 但是,如果string“NA”出现在一行数据中,我不希望isnull
操作返回True
。
有没有一个简单的方法来做到这一点,没有硬编码特定列/数据框的规则?
编辑:看来,我的源数据中的NA被读入pandas时被忽略,因为当我加载数据,并在视觉上比较时,我看到NaN
在哪里在Excel中有NA
。
如果使用read_excel
可以用参数keep_default_na
和na_values
来定义哪些值被转换为NaN
:
df = pd.read_excel('file.xlsx') print (df) ab 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) ab 0 NA NaN 1 3 6.0 nullcounts = df.isnull().sum().to_frame('null_records') print (nullcounts) null_records a 0 b 1