gpt4 book ai didi

python - Pandas 根据另一列的值替换值

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

我有两个数据框(数据和价格映射)
数据:

       Global id   Price
0 AR.1852218.1
1 AR.1852223.1 0,6
2 AR.1852251.1 0,56
3 AR.1852254.1
4 AR.1852257.1 0,25
5 AR.1852386.1 0,33
6 AR.1852549.1
价格映射:
        G.ID       Price
0 AR.1852218.1 0,1
1 AR.1852254.1 0,25
2 AR.1852549.1 0,33
我想根据标准 Global id=G.ID 填充 priceMapping 数据框中的价格。
在此先感谢您的帮助。
洛朗

最佳答案

使用 Series.map by 系列创建者 priceMapping然后将不匹配的值替换为原始值 Series.fillna ,因为不匹配的值会产生缺失值:

s = priceMapping.set_index('G.ID')['Price']
Data['Price'] = Data['Global id'].map(s).fillna(Data['Price'])
print (Data)
Global id Price
0 AR.1852218.1 0,1
1 AR.1852223.1 0,6
2 AR.1852251.1 0,56
3 AR.1852254.1 0,25
4 AR.1852257.1 0,25
5 AR.1852386.1 0,33
6 AR.1852549.1 0,33
另一个想法是使用 Series.replace :
s = priceMapping.set_index('G.ID')['Price']
Data['Price'] = Data['Global id'].replace(s)

关于python - Pandas 根据另一列的值替换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64604905/

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