首页 > 解决方案 > 无法使用 Pandas 删除 NaN 值

问题描述

我正在尝试使用 Panda 提供的 dropna() 方法删除 NaN 值。我已经阅读了文档并查看了其他 StackOverflow 帖子,但我仍然无法修复错误。

对于我的代码,我将首先阅读一个 excel 文件。如果行的值为“-”,我会将其更改为 NaN 值。之后,我将使用 dropna() 方法删除 NaN 值。然后,我会将 dropna() 方法的结果重新分配给一个名为 mydf2 的新变量。下面是我的代码和截图

mydf = pd.read_excel('pandas lab datasets/singstats_maritalstatus.xlsx', 
na_values='-')

mydf = mydf.set_index(['Variables'])

print(mydf.head(5)) # Original data

mydf2 = mydf.dropna()
print(mydf2)

在此处输入图像描述

标签: pythonpandas

解决方案


dropna() 工作正常。您有两个打印语句。第一个已按要求打印了五行print(mydf.head(5))

您的第二个打印语句的输出print(mydf2)是一个空数据框 [0 行和 37 列],因为您显然在每一行都有一个 NaN。(请参阅屏幕截图的底部)


推荐阅读