将 pandas 数据帧有效地传递给函数

use*_*827 5 python pandas

def function_name(df):
    for i, row in df.iterrows():
        df.set_value(...)
    return df

if __name__ == '__main__':
    # Assume we have a dataframe called idf
    idf = function_name(idf)
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我将一个名为 idf 的数据帧传递到一个名为 function_name 的函数中。在该函数中,我循环遍历数据帧中的所有行,进行一些修改并返回一个数据帧,并将其存储回 idf 中。

我有一种感觉,这种方法正在浪费内存,有人可以纠正我或指出更好的Pythonic方法吗?请注意,我有充分的理由使用 iterrows,即使它使一切变慢,我只是想要一些关于我将数据帧传递给函数并将其返回的方式的反馈

- -编辑 -

根据@marius 的反馈,我想知道的是:

通过将数据帧传递到函数中,我是否制作了数据帧的新副本?这就是我担心的内存浪费