我有一个pandas数据框,其中一列显示货币,另一列显示价格。我想创建一个新列,根据其他两列的值将价格标准化为USD。
例如
withCredentials(
[usernamePassword(
credentialsId: CREDENTIALS_ID_GIT,
passwordVariable: 'GIT_PASSWORD',
usernameVariable: 'GIT_USERNAME')]) {
sh("git fetch --tags https://${GIT_USERNAME}:${GIT_PASSWORD}@${REPO}")
}
新列的条件类似于
如果货币== SGD: 价格=价格/ 1.37等。
所以最后看起来像
currency price
SGD 100
USD 80
EUR 75
答案 0 :(得分:3)
您可以创建包含所有货币转换的字典,然后将价格列按货币列mapped划分为字典。
df = pd.DataFrame({'currency': ['SGD', 'USD', 'EUR'],
'price': [100, 80, 75]})
to_usd = {'USD': 1.0, 'SGD': 1.37, 'EUR': 1.15}
df['new_price'] = df.price / df.currency.map(to_usd)
print(df)
打印:
currency price new_price
0 SGD 100 72.992701
1 USD 80 80.000000
2 EUR 75 65.217391