現在、下記のようなコードを書いています。
import pandas as pd measurement = pd.read_csv('uz_data.csv') #データの読み込み measurement['Time'] = pd.to_datetime(measurement['Time']) measurement['Uz'] = measurement['Uz'].astype(float) #空のデータフレームの作成 cols = ['1s', '1m','5m'] df = pd.DataFrame(index=[], columns=cols) average_1s = measurement.groupby(pd.Grouper(key="Time", freq="1S")).mean().dropna() print(average_1s) average_1s.to_csv('Uz_1s.csv') average_1m = measurement.groupby(pd.Grouper(key="Time", freq="1min")).mean().dropna() print(average_1m) average_1m.to_csv('Uz_1m.csv') average_5m = measurement.groupby(pd.Grouper(key="Time", freq="5min")).mean().dropna() print(average_5m) average_5m.to_csv('Uz_5m.csv') df = pd.concat([average_1s, average_1m,average_5m], axis=1, ignore_index=True) df.to_csv('test.csv')
uz_data.csvはダウンロードから入手できます。
ただ、このコードの問題として
average_1s
と
average_1m
と
average_5m
が下記のように出力されてしまいます。
一番左の時間軸にすべてのデータがあわされて出力されるので、1分平均や5分平均などの値はかなり次の値が出てくるまでかなり隙間が生じています。あと、列名も0,1,2のようになっていますが、これも1s、1m、5mなどを出力したいです。