FeaturePreprocessor.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:ccf-price-prediction 作者: wqlin 项目源码 文件源码
def run(self):
        for dir_path in listdir(self.src_dir):
            src_dir = join(self.src_dir, dir_path)
            target_dir = join(self.target_dir, dir_path)
            makedirs(target_dir)
            for file in listdir(src_dir):
                df = pd.read_csv(join(src_dir, file))
                if len(df) > 0:
                    df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')
                    offset = pd.Timedelta(days=60)
                    date_range = pd.date_range((df['date'].min() + offset).date(),
                                               df['date'].max().date())
                    averin1 = self.rolling_mean(df['aver'], 1)
                    averin7 = self.rolling_mean(df['aver'], 7)
                    averin15 = self.rolling_mean(df['aver'], 15)
                    averin30 = self.rolling_mean(df['aver'], 30)
                    averin90 = self.rolling_mean(df['aver'], 60)

                    assert len(averin1) == len(averin30) == len(averin7) == len(averin15) == len(averin90) == len(
                        df['aver'][60:])
                    target_df = pd.DataFrame({
                        'province': df['province'][0],
                        'market': df['market'][0],
                        'type': df['type'][0],
                        'key': df['key'][0],
                        'date': date_range,
                        'aver': df['aver'][60:],
                        'averin1': averin1,
                        'averin7': averin7,
                        'averin15': averin15,
                        'averin30': averin30,
                        'averin90': averin90
                    })
                    print(join(target_dir, file))
                    target_df.to_csv(join(target_dir, file), header=True, index=False,
                                     columns=['province', 'market', 'type', 'key', 'date', 'averin1',
                                              'averin7', 'averin15', 'averin30', 'averin90', 'aver'])
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号