python - 如果值基于一列值出现在另一个数据框中,则更改一个数据框中的值
问题描述
我有两个数据框,“大”和“更正”:
大的:
>>>ID class fruit
0 1 medium banana
1 2 medium banana
2 3 high peach
3 4 low nuts
4 5 low banana
和更正:
>>> ID class time fruit
0 2 medium 17 melon
1 5 high 19 oranges
我想根据表格更正中的信息来修复表格“大”。为了得到下表:
>>>ID class fruit
0 1 medium banana
1 2 medium **melon**
2 3 high peach
3 4 low nuts
4 5 **high** **oranges**
如您所见,在 ID 字段上,根据更正表“固定”的星号值。
我想使用嵌套循环,但我相信有更好的方法来获得相同的结果。
解决方案
df.update
对齐两个数据帧的索引后尝试:
big.set_index("ID",inplace=True)
big.update(correction.set_index("ID")
big = big.reset_index() #ifyou want `ID` as a column back
print(big)
ID class fruit
0 1 medium banana
1 2 medium melon
2 3 high peach
3 4 low nuts
4 5 high oranges
推荐阅读
- angular - 如果没有子下拉菜单,则停止显示primeng下拉菜单
- c++ - VS2017调试模式下OpenCV中的“错误分配”
- r - 在 Windows 10 上将带有西班牙语字符的数据框加载到 RStudio
- java - Java 正则表达式跳过某些字符仅匹配一次出现的数字,并带有间歇性句点
- nativescript - Nativescript sidekick 最新更新(版本:1.14.1-v.2018.11.23.3(最新))
- google-app-maker - 如何在 Google 应用制作工具中更新相关数据模型中的记录
- javascript - 如何将 Jison 生成的解析器包含到 Angular 中?
- android - 创建一个 .sh 脚本到 ADB 安装一些 APK
- php - Wordpress - 提交完成后发送消息
- java - java - 为什么我的矩阵不能正常工作?