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

将函数应用于dataframe列?

公羊凌
2023-03-14

我有以下函数(一个以列作为输入的热编码函数)。我基本上想把它应用到我的数据框中的一列,但似乎不明白出了什么问题。

def dummies(dataframe, col):
    dataframe[col] = pd.Categorical(dataframe[col])
    pd.concat([dataframe,pd.get_dummies(dataframe[col],prefix = 'c')],axis=1)

df1 = df['X'].apply(dummies)

猜我怎么称呼它有问题?

共有2个答案

关宏毅
2023-03-14

如果您想将其应用于该列,则不需要创建新的数据帧。这是正确的语法。请阅读文件。

df['X'] = df['X'].apply(lambda x : dummies(x))
夏经武
2023-03-14

您需要确保您正在从函数返回一个值,而当前您没有。。此外,当您将函数应用于列时,基本上是将列中每一行的值传递给函数,因此您的函数设置错误。。通常您会这样做:

def function1(value):
    new_value = value*2 #some operation
    return new_value

然后:

df['X'].apply(function1)

当前,您的函数设置为获取整个df和列的名称,因此,如果您这样调用函数,则函数可能会工作:

df1 = dummies(df, 'X')

但是你还是需要添加一个返回语句

 类似资料:
  • 问题内容: 我正在尝试转换DataFrame,以便将某些行复制给定的次数。例如: 应该转换为: 这与使用count函数进行聚合相反。有没有一种简单的方法可以在熊猫中实现(不使用for循环或列表推导)? 一种可能是允许函数返回多行(的类似方法)。但是,我认为现在在大熊猫中是不可能的。 问题答案: 您可以使用groupby: 所以你得到 您可以根据需要固定结果的索引

  • 本文向大家介绍将函数应用于Python中Pandas DataFrame中的每一行,包括了将函数应用于Python中Pandas DataFrame中的每一行的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习列表的最常用方法,即append()和extend()。让我们一一看。 应用() 它用于将函数应用于DataFrame的每一行。例如,如果我们想将每个中的所有数字相乘并将其添加为

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

  • 我有一个如下所示的数据框架 我写了一个UDF来将分类转换为二进制和 我将此应用于数据帧,如下所示 如何将多个列传递到 UDF 中,这样我就不必对其他分类列重复自己?

  • 并将其应用于数据表的一列--这是我希望这样做的: 我还没有找到任何简单的方法,正在努力找出如何做到这一点。一定有一个更简单的方法,比将数据rame转换为和RDD,然后从RDD中选择行来获得正确的字段,并将函数映射到所有的值,是吗?创建一个SQL表,然后用一个sparkSQL UDF来完成这个任务,这更简洁吗?

  • 我必须从二维坐标计算希尔伯特曲线上的距离。使用hilbertcurve包,我构建了自己的“hilbert”函数。坐标存储在数据帧(列1和列2)中。如您所见,我的函数在应用于两个值(test)时有效。 然而,它只是不工作时,应用行明智通过应用函数!这是为什么呢?我到底做错了什么?我需要一个额外的列“希尔伯特”,希尔伯特距离在列“col_1”和“col_2”中给出。 最后一个命令以错误结束: 谢谢你的