假设我有这样一个数据帧:
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”])
不起作用。
如何添加该列?
我找到了一个变通办法。虽然有点俗气...
df["columnC"]=pd.Series([my_func(row["columnA"], row["columnB"])for index, row in df.iterrows()], index=df.index)
正确的做法是:
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中,如果想做上述事情,我会做这样的事情: 正如我们看到的,它很容易让我
我想在Python 3.6中的中将列名添加到Groupby的结果中。 我尝试了以下代码: 结果 它看起来像是一个列标题,但是尝试按名称对列进行寻址会产生异常。 我在寻找这个结果。
我有一只熊猫df[见下文]。如何将函数中的值添加到新列“price”?