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

Posted

技术标签:

【中文标题】使用函数在 pandas df 中添加一列【英文标题】:Adding a column in pandas df using a function 【发布时间】:2017-02-24 00:45:31 【问题描述】:

我有一个 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)

【讨论】:

以上是关于使用函数在 pandas df 中添加一列的主要内容,如果未能解决你的问题,请参考以下文章

pandas concat 2个数据框,并在合并数据中添加一列新数据。

Python Pandas 向DataFrame中添加一行/一列

如何在特定小时的滚动平均值的熊猫数据框中添加一列

使用 numpy.npv 函数的输出向数据框中添加一列

如何在我的数据框中添加一列,说明每行来自哪个工作表名称? Python

layui table中添加一列序号列