gpt4 book ai didi

python - 只能比较相同标签的 Series 对象 Pandas Python

转载 作者:行者123 更新时间:2023-12-01 01:12:03 24 4
gpt4 key购买 nike

我正在尝试将数据框中的某些值转换为美元。因此,我有一个用于货币转换的数据框,另一个是数据。

货币数据框:

Identifier  Price
USDJPY 110.42
USDHKD 7.8483
USDCNH 6.7837
USDUSD 1.0

数据如下所示:

    date    acct    type    currency    isM pbc spanReq exchange
20190215 20 S JPY INIT CORE 14872000.0 SGX
20190215 40 S USD INIT CORE 2987340.93 SGX
20190215 60 S USD INIT CORE 2030260.39 SGX
20190215 70 S JPY INIT CORE 57172391.0 SGX
20190215 20 S JPY INIT CORE 106516141.0 OSE
20190215 70 S JPY INIT CORE 1800000.0 OSE
20190215 10 S CNH INIT CORE 0.0 HKEX
20190215 40 S HKD INIT CORE 36071131.4 HKEX
20190215 60 S HKD INIT CORE 3459377.95 HKEX
20190215 70 S HKD INIT CORE 81300.0 HKEX
20190215 80 S HKD INIT CORE 23698214.0 HKEX
20190215 10 S USD INIT CORE 1728005.0 CME
20190215 20 S USD INIT CORE 83671.0 CME
20190215 30 S USD INIT CORE 6237.0 CME
20190215 40 S USD INIT CORE 857120.0 CME
20190215 60 S USD INIT CORE 2803385.0 CME
20190215 70 S USD INIT CORE 9007666.0 CME
20190215 90 S USD INIT CORE 119644.0 CME

预期输出:

date    acct    type    currency    isM pbc spanReq exchange
20190215 20 S JPY INIT CORE 134551.70541934317 SGX
20190215 40 S USD INIT CORE 2987340.93 SGX
20190215 60 S USD INIT CORE 2030260.39 SGX
20190215 70 S JPY INIT CORE 517256.77191712655 SGX
20190215 10 S CNH INIT CORE 0.0 HKEX
20190215 40 S HKD INIT CORE 4624504.025641026 HKEX
20190215 60 S HKD INIT CORE 443509.9935897436 HKEX
20190215 70 S HKD INIT CORE 10423.076923076924 HKEX
20190215 80 S HKD INIT CORE 3038232.564102564 HKEX
20190215 20 S JPY INIT CORE 963685.343345698 OSE
20190215 70 S JPY INIT CORE 16285.171446666063 OSE
20190215 10 S USD INIT CORE 1728005.0 CME
20190215 20 S USD INIT CORE 83671.0 CME
20190215 30 S USD INIT CORE 6237.0 CME
20190215 40 S USD INIT CORE 857120.0 CME
20190215 60 S USD INIT CORE 2803385.0 CME
20190215 70 S USD INIT CORE 9007666.0 CME
20190215 90 S USD INIT CORE 119644.0 CME

我的代码如下所示:

initial_margin_data['spanReq'] =  initial_margin_data['spanReq'].astype(float)/d.loc[d['Identifier'] == initial_margin_data['currency'], 'Price']

第二行给了我这个错误:

Can only compare identically-labeled Series objects

需要一些指导。

最佳答案

您可以像这样初始化货币映射,

m = dict(zip(currency['Identifier'].str[-3:], currency['Price']))
m
# {'CNH': 6.7837, 'HKD': 7.8483, 'JPY': 110.42, 'USD': 1.0}

现在,您可以将货币映射到汇率并除以:

df['spanReq'] /= df['currency'].map(m)

关于python - 只能比较相同标签的 Series 对象 Pandas Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54757809/

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