python - 为特征工程编写函数时使用 df.copy() 是否多余?
问题描述
我想知道编写这种模式是否有任何好处
def feature_eng(df):
df1 = df.copy()
...
return df1
与这种模式相反
def feature_eng(df):
...
return df
解决方案
假设您有一个原始数据框df_raw
,并且您df_feature
使用feature_eng
. df_raw
您的第二种方法将在调用时覆盖,df_feature = feature_eng(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)
INDEX
此处 df_raw在使用时将不包含包含该列feature_eng2
。
推荐阅读
- android - ArrayIndexOutOfBoundException 删除单条记录
- python - 在索引之前查找子字符串的第一次出现
- json - 努力将 JSON 数据转换为 Django 模型对象实例
- docusignapi - 如何在 SOAPUI 工具中测试 DocuSign Rest API
- .net - 验证是否允许重命名目录和文件
- python - Python 中的 DAT 文件操作
- vba - 有一个 Excel 自动滚动宏;有没有办法在上面放一个计时器?
- c# - 在 ASP.NET 中使用 EF 存储字符串集合
- go - 用于单元测试的模拟 bufio 外部包
- python - 使用 Python 和 BeautifulSoup 抓取 Ajax.requests - 看似随机的页码返回空白