我目前正在处理一些数据框架(DataFrames),并希望让我的代码模块化。这意味着需要将数据框架传递给函数。我知道数据框架的可变性质以及在将可变实例传递给函数时可能会出现的问题。对于将数据框架传递给函数,是否有最佳实践?我应该在函数内部创建一个副本然后再将其传回吗?还是只需在函数内部更改数据框架(df)并返回None即可?
选项1或2哪个更好?以下是表达这个想法的基本代码:
选项1:
def test(df):
df['col1'] = df['col1']+1
return None
test(df)
选项2:
def test(main_df):
df = main_df.copy()
df['col1'] = df['col1']+1
return df
main_df = test(main_df)