【发布时间】:2019-08-19 13:30:16
【问题描述】:
我有 df1 (key_col, cola, colb, colc) 和 df2(key_col, colz) 我想做以下 SQL 等效项:
UPDATE df1
SET df1.colc = df2.colz
WHERE df1.key = df2.key
我尝试了各种合并和加入的化身,但均未成功。不寻找循环,而是使用 Pandas
df1: key_col cola colb colc
50 'foo' 'bar' 'foo'
49 'foo' 'bar' 'bla'
23 'bar' 'foo' 'bla'
df2: key_col colz
23 'something'
50 'something else'
注意,键 col 不是 pandas 索引而是普通列
所需的 df1:
df1: key_col cola colb colc
50 'foo' 'bar' 'something else'
49 'foo' 'bar' 'bla'
23 'bar' 'foo' 'something'
编辑:
已添加行 key_col = 49 以明确 colc c 的直接复制将不起作用,因为它会覆盖现有值。
【问题讨论】:
标签: python-3.x pandas sql-update