You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让数据科学中的预处理类返回pandas DataFrame?

如何让预处理类返回Pandas DataFrame?

你当前的代码中,df = preprocessing('Data 11.08.2022')得到的是preprocessing类的实例对象,而非处理后的DataFrame。以下几种方法可以帮你获取到目标DataFrame:

方法1:直接访问实例的df属性

这是最简单的方式,直接通过实例变量获取处理后的DataFrame:

df = preprocessing('Data 11.08.2022').df

方法2:给类添加返回数据的方法

给类新增一个方法,专门用来返回处理好的DataFrame,代码结构更清晰:

# 遵循PEP8规范,类名使用大驼峰命名
class Preprocessing:
    def __init__(self, data_name):
        self.df = pd.read_pickle(f'{data_name}.pkl')
        self.df = self.df[2:].reset_index(drop=True)  
        self.df = self.df.fillna(method='ffill')
        self.df = self.df.fillna(method='bfill')
    
    # 添加获取处理后数据的方法
    def get_processed_df(self):
        return self.df

# 使用示例
processor = Preprocessing('Data 11.08.2022')
df = processor.get_processed_df()

方法3:利用__call__特殊方法

通过实现__call__方法,让类的实例可以像函数一样被调用,直接返回DataFrame:

class Preprocessing:
    def __init__(self, data_name):
        self.df = pd.read_pickle(f'{data_name}.pkl')
        self.df = self.df[2:].reset_index(drop=True)  
        self.df = self.df.fillna(method='ffill')
        self.df = self.df.fillna(method='bfill')
    
    def __call__(self):
        return self.df

# 使用示例
df = Preprocessing('Data 11.08.2022')()

内容的提问来源于stack exchange,提问作者Dino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 03:48:10