Python 在特定行/索引的一个数据帧中搜索并将值添加到特定行/索引的另一个df中

Python 在特定行/索引的一个数据帧中搜索并将值添加到特定行/索引的另一个df中,python,pandas,dataframe,data-cleaning,Python,Pandas,Dataframe,Data Cleaning,这里有一个问题 我想在我的原始DF中创建一个新列,它是来自另一个dfKey的特定索引处的值 我有点卡住了,我肯定我遗漏了一些明显的东西,但我无法解码当前的错误消息“KeyError:”Name“ 数据: 期望输出df.head: 我认为最好的方法是for循环,就像我尝试过的所有其他方法一样,比如df['Name']=np。其中df['Code']==dfKey['Code'],dfKey['Name']只比较/测试同一索引中的每一行;没有搜索 我的最新尝试: 我认为你需要合并: 输出:

这里有一个问题

我想在我的原始DF中创建一个新列,它是来自另一个dfKey的特定索引处的值

我有点卡住了,我肯定我遗漏了一些明显的东西,但我无法解码当前的错误消息“KeyError:”Name“

数据:

期望输出df.head:

我认为最好的方法是for循环,就像我尝试过的所有其他方法一样,比如df['Name']=np。其中df['Code']==dfKey['Code'],dfKey['Name']只比较/测试同一索引中的每一行;没有搜索

我的最新尝试:

我认为你需要合并:

输出:

     Ticker              Name  Metric1  Metric999
Code                                             
200     CRM        SalesForce    350.0     375.00
250    NVID        NVIDA Corp      1.4       1.20
875    TSLA     Tesla Company      0.2       0.22
1200   ATVI        Activision    500.0     505.00
2899  GOOGL        Googlyness      NaN        NaN
5005     GE  General Electric      NaN        NaN
我认为你需要合并:

输出:

     Ticker              Name  Metric1  Metric999
Code                                             
200     CRM        SalesForce    350.0     375.00
250    NVID        NVIDA Corp      1.4       1.20
875    TSLA     Tesla Company      0.2       0.22
1200   ATVI        Activision    500.0     505.00
2899  GOOGL        Googlyness      NaN        NaN
5005     GE  General Electric      NaN        NaN
IIUC:

IIUC:


哦,糟了!我知道必须有一个更简单的方法来做这件事,我喜欢python语法。速度的最佳答案,尽管我认为马祖的外形更优雅一点!谢谢哦,糟了!我知道必须有一个更简单的方法来做这件事,我喜欢python语法。速度的最佳答案,尽管我认为马祖的外形更优雅一点!谢谢
codes=df.index.tolist()
codes

for code in codes:
    #1. Find Name and Ticker in Key
    name = dfKey['Name'].loc[code]
    ticker = dfKey['Ticker'].loc[code]
    #2. Put Name and Ticker back in original
    df['Name'].loc[code] = name 
    df['Ticker'].loc[code] = ticker 
dfKey.merge(df, left_index=True, right_index=True, how='outer')
     Ticker              Name  Metric1  Metric999
Code                                             
200     CRM        SalesForce    350.0     375.00
250    NVID        NVIDA Corp      1.4       1.20
875    TSLA     Tesla Company      0.2       0.22
1200   ATVI        Activision    500.0     505.00
2899  GOOGL        Googlyness      NaN        NaN
5005     GE  General Electric      NaN        NaN
In [13]: df.join(dfKey)
Out[13]:
      Metric1  Metric999 Ticker           Name
Code
250       1.4       1.20   NVID     NVIDA Corp
200     350.0     375.00    NaN            NaN
875       0.2       0.22   TSLA  Tesla Company
1200    500.0     505.00   ATVI     Activision