python - 将一个数据帧的索引映射到另一个数据帧的列

标签 python pandas dataframe vlookup

我知道有questions与此类似,但他们没有回答我的问题,所以请耐心等待。

我有 2 个数据框 df1 和 df2。

在 df1 中,订单 ID1 为索引,付款列为空。

print(df1)

Order ID1    Sale Price     Payment
OD1             45            
OD2             55
OD3             56

在 df2 中,订单 ID2 是索引。

print(df2)

Order ID2     paid value
OD1             44
OD3             41
OD2             33

我正在尝试将 df1(订单 ID1)的索引映射到 df2(订单 ID2)的索引,并在空的付款列中返回相应的付费值 。基本上我正在执行一个查找过程。

我尝试使用 map 功能如下:-

df2['Payment'] = df2.index.map(df1.index)

但我收到以下错误:

TypeError: 'Index' object is not callable

最佳答案

那是因为您正在尝试映射索引。您首先需要使用 dict(zip()) 创建一个字典,其中键是 df2 的索引,值是付费值。然后您可以将其映射到 df1.index 上并将其返回到您的“付款”列中:

df1['payment'] = df1.index.map(dict(zip(df2.index,df2['paid value'])))

           Sale Price  payment
Order ID1                     
OD1                45       44
OD2                55       33
OD3                56       41

关于python - 将一个数据帧的索引映射到另一个数据帧的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70460010/

相关文章:

python - 如何根据 PySpark 中的条件修改行子集

python - 使用 Dask 删除 Dataframe 中高度相关的成对特征?

python - 如何将日期时间数组转换为特定日期格式的列表

Python - 加快将分类变量转换为其数字索引

r - 用 ID 列展平数据框中的列表列

python - 使用 WebDriver 一次性通过类名查找子级和父级?

python - 字符串聚类算法 - 指导

python - 在 python 查询参数中使用 %20 而不是 + 作为空格

python - 如何删除 Pandas DataFrame 中某一列值为 NaN 的行

python - 在 Pandas 中移动缺少日期的时间序列