使用函数在 pandas df 中添加一列

Adding a column in pandas df using a function

我有一个 Pandas df [见下文]。 如何将函数中的值添加到新列 "price"?

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


  (...)

一般情况下,可以使用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)