Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于python中其他列的值创建新列_Python_Pandas - Fatal编程技术网

基于python中其他列的值创建新列

基于python中其他列的值创建新列,python,pandas,Python,Pandas,我有一个熊猫数据框,一列显示货币,另一列显示价格。我想创建一个新列,根据其他两列的值将价格标准化为美元 例如 新柱的条件类似于 如果货币==新加坡元: 价格=价格/1.37等 所以最后看起来 currency price new_price SGD 100 72.99 USD 80 80 EUR 75 65.22 您可以创建一个包含所有货币转换的字典,然后将价格列除以货币列,将其放入字典 df = p

我有一个熊猫数据框,一列显示货币,另一列显示价格。我想创建一个新列,根据其他两列的值将价格标准化为美元

例如

新柱的条件类似于

如果货币==新加坡元: 价格=价格/1.37等

所以最后看起来

  currency   price   new_price
  SGD        100     72.99
  USD        80      80
  EUR        75      65.22

您可以创建一个包含所有货币转换的字典,然后将价格列除以货币列,将其放入字典

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
  currency  price  new_price
0      SGD    100  72.992701
1      USD     80  80.000000
2      EUR     75  65.217391