如何添加一个基于每行不同值的列从另一个数据框进行 excel 类型 "INDEX, MATCH, MATCH" 搜索?

How to add a column that based on the different value for every row conducts excel type "INDEX, MATCH, MATCH" search from another dataframe?

我正在尝试添加一个名为 "Yield to Worst" 的列,并且对于每一行,它都使用该行的 "Ticker" 值,并对另一个数据帧进行索引、匹配、匹配以查找值特定代码的收益率为最差。数据帧在 "Tickers" 和 "Funds_Data" 下方。所需的输出也是如此。

代码数据框

Index   Tickers
0   IEF US Equity
1   JNK US Equity
2   HYG US Equity
3   LQD US Equity

Funds_Data 数据帧

         JNK US Equity  HYG US Equity   LQD US Equity   IEF US Equity
AUM      9560           16313           31525           13169
Duration 3.6            3.3             8.8             7.4
1-Mth    1.17           0.94            0.85            0.11
3-Mth    4.11           3.59            3.38            1.93
YTD      9.52           8.66            6.61            2.21
Yield    6.46           6.23            4.08            2.49

期望输出

Index   Tickers    Yield
0   IEF US Equity   2.49
1   JNK US Equity   6.46
2   HYG US Equity   6.23
3   LQD US Equity   4.08

尝试的代码

for ticker in range (0, len(Tickers)):
    Yield = pd.DataFrame(funds_data.loc['Yield to Worst', ticker])
Tickers['Yield'] = Yield

感谢大家的帮助

您可以将 tickersfunds_data 合并到 Yield 行:

tickers.merge(funds_data.loc['Yield'],
              how='left', left_on='Tickers', right_index=True)

输出:

             Tickers  Yield
Index                      
0      JNK US Equity   6.46
1      HYG US Equity   6.23
2      LQD US Equity   4.08
3      IEF US Equity   2.49
5      MBB US Equity    NaN

P.S。您的示例 funds_data 中没有 "MBB US Equity" 的数据,因此显示为 NaN