gpt4 book ai didi

python-3.x - 如何根据条件(特定列的相同值)从其他数据框中复制值?

转载 作者:行者123 更新时间:2023-12-04 02:40:21 24 4
gpt4 key购买 nike

我有两个数据框(df1 和 df2),它们看起来像这样:

data1 = {'col1':[1,2,3,4,1,2,3,4,1,2,3,4], 'col2':np.arange(1,13)*2}

df1 = pd.DataFrame(data1)

data2 = {'x': [1,2,3,4], 'y': [10,20,40,5]}

df2 = pd.DataFrame(data2)

当 df1['col1'] 等于 df2['x'] 时,我想向 df1 添加一个新列 'col3',其值为 df2['y']。所以我的 df1 会保持这样:

col1    col2    col3
1 2 10
2 4 20
3 6 40
4 8 5
1 10 10
2 12 20
3 14 40
4 16 5
1 18 10
2 20 20
3 22 40
4 24 5

谁能帮帮我?

最佳答案

map 与从 df2 创建的字典一起使用

df1['col3'] = df1.col1.map(dict(df2[['x', 'y']].values))

df1['col3'] = df1.col1.map(dict(zip(df2.x, df2.y)))

Out[886]:
col1 col2 col3
0 1 2 10
1 2 4 20
2 3 6 40
3 4 8 5
4 1 10 10
5 2 12 20
6 3 14 40
7 4 16 5
8 1 18 10
9 2 20 20
10 3 22 40
11 4 24 5

关于python-3.x - 如何根据条件(特定列的相同值)从其他数据框中复制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59670123/

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