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

将pandas函数应用于列以创建多个新列?

融唯
2023-03-14

如何在熊猫身上做到这一点:

更新2:这个问题是在V0.11.0左右提出的。因此,许多问题和答案都不太相关。

共有1个答案

唐渊
2023-03-14

根据user1827356的回答,您可以使用df.merge一次性完成赋值:

df.merge(df.textcol.apply(lambda s: pd.Series({'feature1':s+1, 'feature2':s-1})), 
    left_index=True, right_index=True)

    textcol  feature1  feature2
0  0.772692  1.772692 -0.227308
1  0.857210  1.857210 -0.142790
2  0.065639  1.065639 -0.934361
3  0.819160  1.819160 -0.180840
4  0.088212  1.088212 -0.911788

编辑:请注意巨大的内存消耗和低速度:https://ys-l.github.io/posts/2015/08/28/how-not-to-use-pandas-apply/!

 类似资料:
  • 我想将我的自定义函数(它使用if-else梯形)应用到数据帧每行中的这六列(,,,,,)。 我已经尝试了不同的方法从其他问题,但似乎仍然不能找到正确的答案,我的问题。关键的一点是,如果这个人被算作西班牙裔,他们就不能算作其他任何东西。即使他们在另一个种族栏中有一个“1”,他们仍然被算作西班牙裔,而不是两个或两个以上的种族。类似地,如果所有ERI列的总和大于1,则被计为两个或两个以上的种族,不能被计

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

  • 我想通过对两个现有列应用函数,在数据框中创建一个新列。根据这个答案,当我只需要一列作为参数时,我就能够创建一个新列: 但是,当函数需要多个参数时,我不知道如何执行相同的操作。例如,如何通过将列a和列B传递给下面的函数来创建新列?

  • 我试图计算一个折扣,我想应用到我的数据帧的两列中的每一行,并将结果添加到一个新列中。 我已经尝试了很多方法,通过遵循现有的例子,但是每次都发生错误。 我将函数定义为: 然后尝试将该函数应用于我的数据框 我希望有一个新的列,其中每一行都是应用于ordini[“revenue1”]和ordini[“revenue2”]的函数的结果。 但我得到了以下错误: ValueError:序列的真值不明确。使用a

  • 我有一个pandas数据框,其中包含列和。我想从他们那里得到和。中有一个函数,名为,用于执行此操作。它接收和,并给出。我是这样做的: 我想定义一个函数并应用一次以节省时间。我看了看这里,这里和这里,但是我找不到一种方法来使用一个函数制作两列。谢谢。