pandas的assign()函数和apply()函数有什么区别?

9

我正在学习Python中的数据探索。在练习pandas库时,我看到了两个名为df.assign()df.apply()的函数。这两个函数的定义看起来非常相似。你能不能解释一下这两个函数及它们各自独特的用途?

2个回答

11

这里的区别在于您是希望修改一个现有的框架,还是创建一个新的框架并保留原始框架不变。

特别地,DataFrame.assign会返回一个新的对象,该对象包含原始数据的副本和所请求的更改,而原始框架保持不变

例如:

df = DataFrame({'A': range(1, 11), 'B': np.random.randn(10)})

如果您希望在不破坏df的情况下创建一个新的框架,其中A处处为1,您可以使用.assign
new_df = df.assign(A=1)

尽管 .apply 不是用于修改数据框的,但不能保证应用该函数不会改变数据框。


1

assign() 方法将新列分配给 DataFrame,返回一个新对象(副本),其中包含已添加到原始列中的新列。重新分配的现有列将被覆盖。

沿着 DataFrame 的轴应用函数。apply() 允许用户传递函数并将其应用于 Pandas series 的每个单个值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接