我在一列中有“NA”(意思是北美),在Pandas读取CSV后显示为空白

2024-04-23 15:47:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个CSV文件,其中的Country列包含国家代码。在这里,“NA”的意思是北美。我需要把它转换成UTF-8格式。使用下面的代码时,带有“NA”的行在导出的文件中显示为空白:

df = pd.read_csv(filepath, encoding='UTF-8')
df.to_csv(r'path+filename',header=None ,encoding = 'UTF-8', index = False)

比如说,

输入文件:

Week Country PL Sales$
W01   AE     0I  250
W02   NA     0I  130

输出文件:

Week Country PL Sales$
W01   AE     0I  250
W02          0I  130

我尝试用“NA”填充源文件中的其他列,这些列现在也是空白的


Tags: 文件csv代码dfcountry空白utfencoding
1条回答
网友
1楼 · 发布于 2024-04-23 15:47:50

'NA'na_values中的默认NaN值之一。在使用^{}读取csv文件时,需要指示pandas排除默认值:

keep_default_na: bool, default True

Whether or not to include the default NaN values when parsing the data. Depending on whether na_values is passed in, the behavior is as follows:

If keep_default_na is True, and na_values are specified, na_values is appended to the default NaN values used for parsing.

If keep_default_na is True, and na_values are not specified, only the default NaN values are used for parsing.

If keep_default_na is False, and na_values are specified, only the NaN values specified na_values are used for parsing.

If keep_default_na is False, and na_values are not specified, no strings will be parsed as NaN.

Note that if na_filter is passed in as False, the keep_default_na and na_values parameters will be ignored.


这应该可以做到:

df = pd.read_csv(filepath, encoding='UTF-8', keep_default_na=False)

根据您想要执行的其他操作,您可能还需要相应地定义na_values

相关问题 更多 >