gpt4 book ai didi

python - 使用查找值创建新的 pandas 数据框

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

我有一个 pandas DataFrame,其中包含如下所示的股票:

    Name                Ticker        Currency
0 TOTAL SA FP FP EUR
1 APPLE INC AAPL US USD
2 ALPHABET INC-CL A GOOGL US USD

我有另一个包含价格:

             AAPL US   FP FP    GOOGL US
Date
2018-08-01 200.0000 55.0000 1235.0000
2018-08-02 201.0000 56.0000 1236.0000
2018-08-03 202.0000 57.0000 1237.0000

另一个包含 FX:

             EUR        USD
Date
2018-08-01 1.1300 1.3000
2018-08-02 1.1400 1.3100
2018-08-03 1.1500 1.3200

我想创建一个新的 DataFrame,其列与包含外汇汇率的价格列相同。我想通过使用股票 DataFrame 的货币列作为查找并从 FX DataFrame 中选择正确的值来做到这一点,所以我得到这样的东西:

             AAPL US   FP FP    GOOGL US
Date
2018-08-01 1.3000 1.1300 1.3000
2018-08-02 1.3100 1.1400 1.3100
2018-08-03 1.3200 1.1500 1.3200

我似乎无法找到允许我执行此操作的正确函数。

最佳答案

假设您从 3 个数据框开始:stockspricesfx。然后您可以使用 pd.DataFrame.loc具有一系列映射:-

# create mapping from ticker to currency
s = stocks.set_index('Ticker')['Currency']

# reindex fx with data from prices, then rename columns
res = fx.loc[prices.index, prices.columns.map(s)]\
.set_axis(prices.columns, axis=1, inplace=False)

print(res)

AAPL US FP FP GOOGL US
2018-08-01 1.30 1.13 1.30
2018-08-02 1.31 1.14 1.31
2018-08-03 1.32 1.15 1.32

关于python - 使用查找值创建新的 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52804785/

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