2016-10-14 1 views
2

Ich habe eine Pandas df (siehe unten). Ich möchte eine Spalte namens "price" hinzufügen, die ich die Werte aus einer Funktion ableiten möchte. Wie gehe ich dabei vor?Hinzufügen einer Spalte in Pandas df mit einer Funktion

function: 

    def getquotetoday(symbol): 
     yahoo = Share(symbol) 
     return yahoo.get_prev_close() 


df: 

Symbol Bid  Ask 
MSFT  10.25 11.15 
AAPL  100.01 102.54 


    (...) 
+0

meinen Sie nur 'df [ 'Preis'] = df [ 'Symbol'] gelten (getquotetoday)'? – EdChum

Antwort

7

Im Allgemeinen können Sie die Anwendungsfunktion verwenden. Wenn Ihre Funktion nur aus einer Spalte besteht, können Sie verwenden:

df['price'] = df['Symbol'].apply(getquotetoday) 

als @EdChum vorgeschlagen. Wenn Ihre Funktion mehrere Spalten erfordern geschieht, können Sie zum Beispiel so etwas wie:.

df['new_column_name'] = df.apply(lambda x: my_function(x['value_1'], x['value_2']), axis=1) 
Verwandte Themen