gpt4 book ai didi

python - vlookup 相当于使用 pandas 连接 2 个表

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:16 25 4
gpt4 key购买 nike

场景:

  • df1 具有所有可能的拍卖 ID 值
  • df2 具有可能的拍卖 ID 值的子集
  • df2 包含拍卖中存在的对象 ID(可以是 0 或正整数)

目标:

创建一个新的 df1 列“object_id”,并用 df2 中的相应值填充

示例...

df1 = pd.DataFrame(columns=['auction_id'], data=[1,2,3,4,5,6,7,8,9])

auction_id
1
2
3
4
5
6
7
8
9


df2 = pd.DataFrame({'auction_id':[1,2,4,6,7,8,9], 'object_id': [640,0,332,332,0,58,332]})

auction_id object_id
1 640
2 0
4 332
6 332
7 0
8 58
9 332

迄今为止我尽了最大努力

使用 vlookup in Pandas using join ):

df1['object_id'] = df1.auction_id.map(df2.object_id)

其产量:

df1  
auction_id object_id
1 0
2 332
3 332
4 0
5 58
6 332
7 NaN
8 NaN
9 NaN

最佳答案

您可以使用 pandas 库中的合并功能,如下所示:

import pandas as pd

df1 = pd.DataFrame(columns=['auction_id'], data=[1,2,3,4,5,6,7,8,9])
df2 = pd.DataFrame({'auction_id':[1,2,4,6,7,8,9], 'object_id': [640,0,332,332,0,58,332]})

new_df = pd.merge(df1,df2,how='left',on='auction_id')

您可以在此处阅读有关合并功能的信息:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.merge.html

关于python - vlookup 相当于使用 pandas 连接 2 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30905573/

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