Добавление столбца в pandas df с помощью функции

#python #function #pandas #dataframe #yahoo

#питон #функция #панды #фрейм данных #yahoo

Вопрос:

У меня есть Pandas df [см. Ниже]. Как мне добавить значения из функции в новый столбец «цена»?

 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


  (...)
 

Ответ №1:

В общем, вы можете использовать функцию apply. Если для вашей функции требуется только один столбец, вы можете использовать:

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

как и предложил @EdChum. Если для вашей функции требуется несколько столбцов, вы можете использовать что-то вроде:

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

Ответ №2:

В качестве альтернативы вы можете использовать pipe :

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