我正在学习Python中的数据探索。在练习pandas库时,我看到了两个名为df.assign()和df.apply()的函数。这两个函数的定义看起来非常相似。你能不能解释一下这两个函数及它们各自独特的用途?
这里的区别在于您是希望修改一个现有的框架,还是创建一个新的框架并保留原始框架不变。 特别地,DataFrame.assign会返回一个新的对象,该对象包含原始数据的副本和所请求的更改,而原始框架保持不变。 例如: df = DataFrame({'A': range(1, 11), 'B': np.random.randn(10)}) 如果您希望在不破坏df的情况下创建一个新的框架,其中A处处为1,您可以使用.assign。new_df = df.assign(A=1) 尽管 .apply 不是用于修改数据框的,但不能保证应用该函数不会改变数据框。
assign() 函数 (ref1, ref2) assign() 方法将新列分配给 DataFrame,返回一个新对象(副本),其中包含已添加到原始列中的新列。重新分配的现有列将被覆盖。 apply() 函数 (ref1, ref2) 沿着 DataFrame 的轴应用函数。apply() 允许用户传递函数并将其应用于 Pandas series 的每个单个值。