python - 如何从具有附加列的新数据框中更新数据框?
问题描述
在pandas.DataFrame.update的帮助页面中,他们有以下示例使用 new_df 更新 df:
df = pd.DataFrame({'A': [1, 2, 3],
'B': [400, 500, 600]})
new_df = pd.DataFrame({'B': [4, 5, 6],
'C': [7, 8, 9]})
df.update(new_df)
df
A B
0 1 4
1 2 5
2 3 6
使用 update 命令让“C”在 df 中显示为新列的最佳方法是什么?我无法弄清楚,但如果我使用以下任一方法在 df 中创建新列:
df['C'] = np.NaN
df['C'] = 0
这似乎填充了它,但我想知道在 df.update 中是否有更好的方法或某种方法来做到这一点。
解决方案
df.update
对齐索引。您也可以使用df.assign
覆盖以前的值并添加新列。
df.assign(**new_df)
A B C
0 1 4 7
1 2 5 8
2 3 6 9
推荐阅读
- c++ - 如何在 C++ 中通过网络共享 RAM 模块?
- mysql - 加入有条件的表
- json - 如何使用 SQL 查询将 JSON Web 服务数据插入 SQL 表?
- python - 在创建项目任务时不发送电子邮件
- html - CSS Flex Column 反向 - 响应式
- sql - 如何在查询记录处理器中转换 DateTime
- javascript - Javascript将具有空值的数组插入字符串
- javascript - 使用 botpress 和 mysql 连接聊天机器人
- javascript - 使用 cytoscape.js 按属性范围选择元素
- java - 从不在 Axon 中工作的事件处理程序发布新事件