当前位置: 首页 > 知识库问答 >
问题:

在Pandas中添加一列函数[重复]

贾沛
2023-03-14

假设我有这样一个数据帧:

  columnA  columnB
0   10        90
1   83        17
2   30        21
...

我有这样一个函数:

def my_func(a, b):
    value = #do some calculation
    return value

现在,我想根据函数的计算为我的数据帧获取一个新列columnC
显然,df[“columnC”]=my_func(df[“columnA”],df[“columnB”])不起作用。

如何添加该列?

共有2个答案

东郭元魁
2023-03-14

我找到了一个变通办法。虽然有点俗气...

df["columnC"]=pd.Series([my_func(row["columnA"], row["columnB"])for index, row in df.iterrows()], index=df.index)
屠杰
2023-03-14

正确的做法是:

df['c'] = df.apply(lambda row: my_func(row['a'], row['b']), axis=1)
 类似资料:
  • 问题内容: 我有一个pandas df [见下文]。如何将函数中的值添加到新列“价格”中? 问题答案: 通常,您可以使用apply函数。如果函数仅需要一列,则可以使用: 如@EdChum建议。如果您的函数需要多列,则可以使用类似以下内容:

  • 对如何实现这一点有什么想法吗?

  • 问题内容: 这个问题已经在这里有了答案 : 使用pandas GroupBy.agg()对同一列进行多次聚合 (3个答案) 去年关闭。 示例数据集: 我想通过和对这个数据集的观察进行分组,并对每个组求和。所以我用了这样的东西… 在使用时,我能够获得“ SQL-like”输出。我的问题是我无法在此处 重命名聚合变量。因此,在SQL中,如果想做上述事情,我会做这样的事情: 正如我们看到的,它很容易让我

  • 我有一只熊猫df[见下文]。如何将函数中的值添加到新列“price”?

  • 我想在Python 3.6中的中将列名添加到Groupby的结果中。 我尝试了以下代码: 结果 它看起来像是一个列标题,但是尝试按名称对列进行寻址会产生异常。 我在寻找这个结果。