2017-07-14 6 views
2

Ich habe ein Pandas Datenframe mit einer Spalte mit Währungen und ein anderes zeigt Preise. Ich möchte eine neue Spalte erstellen, die die Preise auf USD basierend auf den Werten aus den anderen beiden Spalten standardisiert.Erstellen einer neuen Spalte basierend auf Werten aus anderen Spalten in Python Pandas

z.

currency price 
    SGD  100 
    USD  80 
    EUR  75 

würden die neuen Spalt Bedingungen ähnlich

zu

haben, wenn Währung == SGD: Preis = Preis/1,37 usw.

so am Ende ist es wie

currency price new_price 
    SGD  100  72.99 
    USD  80  80 
    EUR  75  65.22 
aussehen würde

Antwort

2

Sie könnten ein Wörterbuch erstellen, das alle Währungsumrechnungen enthält, und dann die Preisspalte durch die Währungsspalte mapped in dic teilen tionär.

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) 

Drucke:

currency price new_price 
0  SGD 100 72.992701 
1  USD  80 80.000000 
2  EUR  75 65.217391 
Verwandte Themen