使用函数在 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)
我有一个 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)