【发布时间】:2022-01-24 07:47:39
【问题描述】:
我知道有 questions 与此类似,但他们没有回答我的问题,所以请多多包涵。
我有 2 个数据框 df1 和 df2。
在df1中,Order ID1为索引,Payment列为空。
print(df1)
Order ID1 Sale Price Payment
OD1 45
OD2 55
OD3 56
在df2中,Order ID2是索引。
print(df2)
Order ID2 paid value
OD1 44
OD3 41
OD2 33
我正在尝试将 df1(订单 ID1)的索引映射到 df2(订单 ID2)的索引,并在空的 payment 列中返回相应的 paid value。基本上我正在执行查找过程。
我尝试使用地图功能如下:-
df2['Payment'] = df2.index.map(df1.index)
但我收到以下错误:
TypeError: 'Index' object is not callable
【问题讨论】:
-
我建议使用
pandas.merge在 ID 列上加入两个 DataFrame。这将为您提供一个包含所有三列的新 DataFrame。 -
使用merge代替map函数有什么特别的好处吗?
标签: python pandas dataframe vlookup