首页 > 解决方案 > 如何处理 Pandas 中等于“NA”的列?

问题描述

我知道这听起来很愚蠢,但我不知道如何处理电子表格中等于“NA”的数据(在我的例子中,它是“北美”的缩写)。当我执行 Pandas“read_excel”时,数据以“NaN”而不是“NA”的形式引入。

“NA”是否也像 NaN 一样被视为“非数字”?

输入 Excel 工作表单元格包含 NA。数据框包含“NaN”。

有什么办法可以避免这种情况?

标签: pythonpandas

解决方案


解决方案

您可以使用in关闭自动检测,如下所示。na-valueskeep_defaul_na=Falsepandas.read_excel()

我正在使用在Dummy Data部分test.xlsx中创建的演示文件。

pd.read_excel('test.xlsx', keep_default_na=False)

## Output
#   Region    Country
# 0     NA     Canada
# 1     NA        USA
# 2     SA     Brazil
# 3     EU     Sweden
# 4     AU  Australia

虚拟数据

import pandas as pd

# Create a dummy dataframe for demo purpose
df = pd.DataFrame({'Region': ['NA', 'NA', 'SA', 'EU', 'AU'], 
                   'Country': ['Canada', 'USA', 'Brazil', 'Sweden', 'Australia']})

# Create an excel file with this data
df.to_excel('test.xlsx', index=False)

# Show dataframe
print(df)

输出

  Region    Country
0     NA     Canada
1     NA        USA
2     SA     Brazil
3     EU     Sweden
4     AU  Australia

推荐阅读