python-3.x - pandads 数据帧比较
问题描述
我在比较三个数据框时遇到问题,其中一个数据框是父数据框,其余两个是子数据框我的目标是找到并替换真正的零代替 NaN,并且如果来自父数据框的任何单元格为零,它应该在子数据框中为零。无法解决问题
我有非常庞大的数据这种任何人都建议我如何解决熊猫数据框的新问题我对此没有任何逻辑
示例数据框:
df df2 df3
name a b c d name a b c d name a b c d
arun 10 20 30 0 arun 6 10 15 20 arun 20 10 15 20
kaka 0 20 0 20 kaka NaN 9 NaN 20 kaka NaN NaN NaN 20
ve 1 0 20 30 ve 1 NaN 20 30 ve 1 NaN 2 NaN
output
df2 df3
name a b c d name a b c d
arun 6 10 15 0 arun 20 10 15 0
kaka 0 9 0 20 kaka 0 NaN 0 20
ve 1 0 20 30 ve 1 0 2 NaN
解决方案
尝试:
mask = df1.eq(0)
df2.update(df1.where(mask))
print(df2)
df3.update(df1.where(mask))
print(df3)
印刷:
name a b c d
0 arun 6.0 10.0 15.0 0.0
1 kaka 0.0 9.0 0.0 20.0
2 ve 1.0 0.0 20.0 30.0
name a b c d
0 arun 20.0 10.0 15.0 0.0
1 kaka 0.0 NaN 0.0 20.0
2 ve 1.0 0.0 2.0 NaN
推荐阅读
- google-cloud-platform - Google Cloud Build - 如何修剪 VM 上的 docker 映像?
- javascript - 在文本框中插入 getValue + PhpRunner + Javascript OnLoad 事件
- php - 通过外部 JSON API 使用 Laravel 5.8 身份验证(创建自己的 ServiceProvider)
- python - 生成总和可被 n 整除的随机数列表
- javascript - 即使在页面刷新中也使用反应路由器渲染相同的选定数字
- php - 使用 foreach 循环显示帖子类别一次
- vue.js - 如何引用 Vue 组件的 this 而不是 D3 的 this 实例
- c# - Razor 自定义错误页面忽略它的 OnGet 处理程序
- git - 为什么我的 git init 命令会自动创建一个 .gitignore 文件
- html - 如何使标题保持在顶部,并在其自身和内容下方之间形成一条适合空间的行