python - 无法使用 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)
解决方案
dropna() 工作正常。您有两个打印语句。第一个已按要求打印了五行print(mydf.head(5))
。
您的第二个打印语句的输出print(mydf2)
是一个空数据框 [0 行和 37 列],因为您显然在每一行都有一个 NaN。(请参阅屏幕截图的底部)
推荐阅读
- xamarin.forms - Prism 模板包添加对 mono android 8.1 的引用但我做到了,但我仍然在抱怨
- sensenet - 如何使用 SenseNet dotnet 客户端在文件上传后更新自定义字段
- android - 当我的 Android 应用程序处于前台时,我想隐藏其他应用程序的所有通知。这可能吗?如何?
- java - 按自定义顺序对 Arraylist 进行排序
- javascript - 如何通过javascript从跨度中获取价值?
- amazon-s3 - 在 ec2 机器上安装 s3 存储桶作为网络驱动器
- php - 如何覆盖 Laravel 5.6 的默认登录机制?
- java - 如何在 JOOQ 中编写多字段“in”谓词?
- android - 如何在 Fragments 中使用 onBackPressed 方法
- android - 使 TextView 与父布局一样大