2017-07-14 68 views
2

我有一個熊貓數據框,其中一列顯示貨幣,另一列顯示價格。我想創建一個新的列,根據其他兩列的值將價格標準化爲美元。根據python熊貓中其他列的值創建一個新列

例如。

currency price 
    SGD  100 
    USD  80 
    EUR  75 

新列將具有類似於

條件如果貨幣== SGD: 價格=價格/ 1.37等

所以最後它看起來像

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

回答

2

您可以創建一個包含所有貨幣轉換的字典,然後將價格列按貨幣列mapped分爲dic tionary。

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 
相關問題