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

Sam*_*ngh 9 python dataframe python-3.x pandas

我正在学习 Python 中的数据探索。在练习该库时,我看到了两个名为和 的pandas函数。这两个函数的定义看起来非常相似。您能给我解释一下这两个函数及其独特的用例吗?df.assign()df.apply()

小智 11

区别在于您是否希望修改现有框架,或在保持原始框架不变的情况下创建新框架。

特别是,DataFrame.assign返回一个对象,该对象具有带有请求的更改的原始数据的副本,原始框架保持不变

例如:

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

如果你想创建一个新的框架,其中A无处不1在而不破坏df,你可以使用.assign

new_df = df.assign(A=1)
Run Code Online (Sandbox Code Playgroud)

尽管.apply不打算用于修改数据帧,但不能保证应用该函数不会更改数据帧。