pandas - 用另一个表列更新一个列,其中表的另一列彼此相等熊猫
问题描述
我有两个熊猫数据框,如下所示,
Left_Frame
symbol price timelab1 timelab2 timelab3 _merge
0 145822 10.5018 19:00 left_only
1 145819 10.5055 19:00 left_only
Right_Frame
symbol price timelab1 timelab2 timelab3 _merge
16 145822 10.58 NaN NaN NaN right_only
17 145819 10.55 NaN NaN NaN right_only
我想用等于两个数据框的价格更新Left_Frame
价格。预期结果是,Right_Frame
symbol
Left_Frame
symbol price timelab1 timelab2 timelab3 _merge
0 145822 10.58 19:00 left_only
1 145819 10.55 19:00 left_only
我怎样才能在熊猫中做到这一点?
解决方案
这样就可以了
我想用 Right_Frame 价格更新 Left_Frame 价格,其中符号等于两个数据框。预期结果是
left_frame['price'] = np.where(left_frame['symbol'].values == right_frame['symbol'].values, right_frame['price'],left_frame['price'])
更新
left_frame.loc[:,'price'] = np.where(left_frame['symbol'].values == right_frame['symbol'].values, right_frame['price'],left_frame['price'])
推荐阅读
- amazon-web-services - 我可以在 AWS SAM 模板中“引用”和“GetAtt”隐式定义的 API 吗?
- bash - 如何在 bash 脚本中从 CSV 文件中“读取”信息
- javascript - 通过angularjs登录时,MVC更新`__RequestVerificationToken`令牌
- java - 使用 SunPKCS11 连接到 HSM 时出现异常
- reactjs - 存储状态更改时对 redux 的工作做出意外反应
- html - 如何在 iframe 上创建模糊?
- c - 用 c 实现终端命令
- c - C - 最后捕获的数据项未写入文件
- serial-port - QEMU 不创建第二个串行端口(Ubuntu x86-64 来宾和主机)
- c# - 替换与模式匹配的部分字符串