gpt4 book ai didi

python - Pandas 。需要合并具有值映射的表

转载 作者:行者123 更新时间:2023-12-05 05:30:13 25 4
gpt4 key购买 nike

合并两个表并在两者具有相同值的情况下赋值

我有两个数据框表:

表 1=


| Column A | Column B | Column C |
| -------- | -------- | -------- |
| Cell 1 | Cell 2 | None |
| Cell 3 | Cell 4 | None |

表 2 =


| Column A | Column B | Column C |
| -------- | -------- | -------- |
| Cell 1 | Cell 2 | Value1 |
| Cell 3 | Cell 4 | Value2 |

Table1 =
| Column A | Column B | Column C |
| -------- | -------- | -------- |
| Cell 1 | Cell 2 | None |<--|
| Cell 3 | Cell 4 | None | |
|
Table2 = | Table1[A][0] == Table2[A][0] -> Table1[C][0] = Table2[C][0]
| Column A | Column B | Column C | | And so with all the
lines that have a match, for example, by the value in
| -------- | -------- | -------- | | columns A
| Cell 1 | Cell 2 | Value1 |<--|
| Cell 3 | Cell 4 | Value2 |

第一个表比第二个表

第一张表和第二张表的值相同。我想为表 1 中的相同值填写表 1 中的 C 列。

简单的说,如果表1和表2的列有相同的值,比如A列,那么第二个表的C列的值就会赋给第一个表的C列。

if Table1[A]['value'] == Table2[A]['value']: Table1[C]['value'] = Table2[C]['value']

我也尝试过合并表格,但表格没有合并(表 1 保持不变):

df = Table1['C'].merge(Table2, on=['C'], how='left')

最佳答案

将公共(public)列设置为索引,然后在表 1 上使用 update 替换表 2 中的值

cols = ['Column A', 'Column B']

Table1 = Table1.set_index(cols)
Table1.update(Table2.set_index(cols))
Table1 = Table1.reset_index()

结果

print(Table1)

Column A Column B Column C
0 Cell 1 Cell 2 Value1
1 Cell 3 Cell 4 Value2

关于python - Pandas 。需要合并具有值映射的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74749908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com