gpt4 book ai didi

python - Pandas 按优先级连接/合并两个数据帧

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

如何连接 |合并两个具有优先级的 pandas 数据帧,如果特定列值匹配,则保留优先级数据帧中的行。是否有一种连接类型可以描述这一点?

import pandas as pd
Cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
'Price': [22000,25000,27000,35000]}
Cars2 = {'Brand': ['Honda CRV','Toyota Celica','Ford Explorer','Audi A8'],
'Price': [40000,25000,37000,100000]}

df_priority = pd.DataFrame(Cars, columns= ['Brand', 'Price'])
df2 = pd.DataFrame(Cars2, columns= ['Brand', 'Price'])

# df_merge_with_priority = Merge dataframes and keep rows from df_priority if price matches

df_merge_with_priority 预期输出:

品牌:本田CRV、本田思域、丰田卡罗拉、福特探险者、福特福克斯、奥迪A4、奥迪A8

价格:40000、22000、25000、27000、37000、35000、100000

请注意,丰田卡罗拉和丰田塞利卡的价格相同,但是,在本例中我们只想保留卡罗拉。关于如何优先加入有什么想法吗?

最佳答案

如果您正在寻找优先级与 df2 相比的第一优先级,您可以尝试:

pd.concat((df_priority,df2)).sort_index().drop_duplicates('Price') #.reset_index(drop=True)
<小时/>
            Brand   Price
0 Honda Civic 22000
1 Honda CRV 40000
2 Toyota Corolla 25000
3 Ford Focus 27000
4 Ford Explorer 37000
5 Audi A4 35000
6 Audi A8 100000

关于python - Pandas 按优先级连接/合并两个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59327150/

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