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

将用户定义的函数应用于熊猫数据框的特定列,并向数据框添加新列

越嘉茂
2023-03-14

我创建了一个名为polar(X\u-relative,Y\u-relative,Z\u-relative)的函数,该函数采用了如图所示的这3个参数,结果是新参数(方位角、倾斜角)。我想将此函数应用于一个数据帧,其中函数参数是数据帧中的某些列,并希望将函数的输出参数(方位角、倾斜角)添加为数据帧中的新参数,在数据帧中为每行计算函数。

dataframe columns: X , Y, Z , X_relative , Y_relative , Z_relative
dataframe coulmns I expect after applying the function: X , Y, Z , X_relative , Y_relative , Z_relative , azimuth_angle , tilt_angle

共有1个答案

狄誉
2023-03-14

polar返回值包装成一个系列:

return pd.Series([azimuth_angle, tilt_angle]) 

然后使用应用

df[['azimuth_angle', 'tilt_angle']] = df.apply(lambda x: polar(x.X_relative, x.Y_relative, x.Z_relative), axis = 1)

 类似资料:
  • 问题内容: 如果我有一个包含多列的数据框,如何只填充一列?还是一组列? 我只知道如何按轴进行操作。 问题答案: tl; dr: 我还添加了一个自我包含的示例:

  • 问题内容: 这可能很容易,但是我有以下数据: 在数据框1中: 在数据框2中: 我想要一个具有以下形式的数据框: 我尝试使用该方法,但是得到了交叉连接(即笛卡尔积)。 什么是正确的方法? 问题答案: 通常看来,您只是在寻找联接:

  • 问题内容: 我有一个熊猫DataFrame,其中包含多个列: 我想基于对数据框的每一行应用一个函数为此数据框创建两个新列。我不想多次调用该函数(例如,通过执行两次单独的调用),因为它占用大量计算资源。我尝试通过两种方式来执行此操作,但它们都不起作用: 使用: 我编写了一个函数,该函数接受a并返回我想要的值的元组: 尝试将此应用于DataFrame会出现错误: 然后,我将使用此问题中显示的方法将从返

  • 给定一个数据帧df1如下: > 我想按Col1,Col2和Col3分组 添加新列计数:每个组的大小 添加新列Col4_sum:各组中每个Col4的总和 输出需求 我试着用 但只获取Count列。

  • 问题内容: 我有从构成的DataFrame 。一行包含96个值,我想将DataFrame与值72分开。 以便将行的前72个值存储在Dataframe1中,并将行的后24个值存储在Dataframe2中。 我按如下方式创建我的DF: 问题是:如何拆分它们?:) 问题答案: (iloc文档)

  • 问题内容: 我必须合并两个数据框: df1 df2 我必须将两个数据框统一为一个数据框。我需要像这样的输出: 问题答案: 用途: 样品: