数据框将NA值转换为NaN

时间:2019-09-05 09:22:50

标签: python dataframe

我有一个包含国家和地区代码的xls文件。我正在使用以下代码将其作为数据框插入:

dfCC = pd.read_excel('country_codes.xls')

这对除纳米比亚以外的所有国家都适用。我用于纳米比亚的国家/地区代码是NA,但是当我将其放入数据框时,纳米比亚的代码已更改为NaN。

我需要将此数据作为NA,因为我对此数据帧和基于国家/地区代码列的另一个数据帧进行了df合并。

任何人都可以提供任何建议吗?

2 个答案:

答案 0 :(得分:1)

传递一个附加参数 dfCC = pd.read_excel('country_codes.xls', keep_default_na=False) 这将防止python数据框用NaN替换所有丢失的值。
这应该适合您的情况。
Read here to know more about parameters to pd.read_excel

答案 1 :(得分:1)

一种选择是在读取列后将其转换为字符串:

dfCC['Country'] = dfCC['Country'].astype(str)

这将所有内容强制为字符串,因此NA被解释为“ NA”而不是NaN

此答案与psn1997的答案之间的区别是,最后,具有空值的数字列仍为NaN,因此您可以以不同的方式寻址每一列的Nan行。