#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)