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_nana_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