pythonにて 日ごとでファイルが分かれているものを数年分データを続けて移動平均処理をしたいです。
自分では ファイルを一旦数年分縦連結して処理を考えましたが、
かなり時間かかる上にメモリ使用が凄い状態です。
今後もdataは増え続けるものです。
ファイルをまたいで計算し続ける方法をご教授お願い致します。
<現状rawdata>
日付 時間 グラム
2019/6/27 0:00:00 382
2019/6/27 0:01:00 100
2019/6/27 0:02:00 193
2019/6/27 0:03:00 339
: : :
2019/6/27 23:56:00 273
2019/6/27 23:57:00 473
2019/6/27 23:58:00 471
2019/6/27 23:59:00 333
=========================ここで各日ファイルが区切れています
2019/6/28 0:00:00 372
2019/6/28 0:01:00 454
2019/6/28 0:02:00 345
import glob import pandas as pd import numpy as np path = 'C:/path/raw/' write_1 = 'C:/path/idoumean/' # フォルダ内のcsvファイル取得 csv_files = glob.glob(path + '*.csv', recursive=True) for i in range(2000): d1_raw = pd.read_csv(csv_files[i], header = 0, encoding = 'cp932', engine = 'python') # ファイルの連結 d2_raw = pd.concat([d2_raw, d1_raw], axis = 0) i += 1 # 移動平均処理 idou = pd.DataFrame() idou["日付"] = pp["日付"] idou["日付"] = pp["日付"] idou["グラム"]=d2_raw["グラム"].rolling(3).mean().round(1)
上のコードでも処理は可能ですが、
数時間たっても出来上がらない状態でpythonメモリ使用が96%などです。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー