假设您有一个原始数据帧
我想知道编写这种模式是否有任何好处
def feature_eng(df):
df1 = df.copy()
...
return df1
与此模式相反
def feature_eng(df):
...
return df
df_raw
,并使用feature_eng
创建df_feature
。当调用df_feature = feature_eng(df_raw)
时,第二个方法将覆盖df_raw
,而第一个方法不会。因此,如果您想保持df_raw
的原样而不修改它,那么第一个模式将导致正确的结果。
一个小例子:
def feature_eng1(df):
df.drop(columns=['INDEX'], inplace=True)
return df
def feature_eng2(df):
df1 = df.copy()
df1.drop(columns=['INDEX'], inplace=True)
return df1
df_feature = feature_eng1(df_raw)
在这里,df_raw将不包含包含列INDEX
,而使用feature_eng2
。