python - 如何在python pandas中用0填充空单元格
问题描述
我的数据集中有一列具有以下值(单身,已婚),有些单元格是空的,我想将单身转换为 0 并结婚为 1 并将其从字符串转换为整数
df.X4[df.X4 == 'single'] = 1
df.X4[df.X4 == 'married'] = 2
df['X4'] = df['X4'].astype(str).astype(int)
没有价值的单元格给出了这个错误
ValueError: invalid literal for int() with base 10: 'nan'
我试过这样填充:df.X4.fillna(0)
但仍然给出同样的错误
解决方案
让我们试试
df.X4[df.X4 == 'single'] = 1
df.X4[df.X4 == 'married'] = 2
df['X4'] = pd.to_numeric(df['X4'], errors='coerce').fillna(0).astype(int)
推荐阅读
- java - IntelliJ IDEA 2021.2.2 导入内联而不是在文件顶部
- python - 使用 SSH 密钥时如何使用 GitPython 执行“git push”?
- html - 在输入元素上使用自动对焦时出错(Reactjs)
- excel - 如何有效地为工作表中的每一列创建 csv 文件?
- flutter - 为什么这个异步数据不在 initState 上加载?
- c - CGO:指向从“char *”分配给“char”的整数转换的不兼容指针
- ios - iOS 长任务在后台
- python - Docker 运行错误 - 无法在模块“app”中找到 Flask 应用程序或工厂。使用“FLASK_APP=app:name 指定一个
- python - 在布尔列表中获取真值范围(开始和结束)(不使用 for 循环)
- python - 将列表分成 3 块