質問: pythonのpandasでの処理についての質問です
回答: 行いたいのは「毎日の最初のデータで, その日のデータを割り算する」で良いでしょうか? ・pd.DataFrameをあらかじめ拡張しておく ・1日単位で処理する関数を作る ・1日単位で区切って関数に与える のような形にするのが良いのではと思います。 具体的には以下のようなコードです。(_部分は空白文字に直してください) import pandas as pd import numpy as np SAMPLES_PER_DAY = (60 // 5) * 24 #5分おきに24時間取得 SRC_COL = 2 #入力元の列 DST_COL = 3 #出力先の列 def normalize_sample(df_per_day):#1日あたりの処理を行う関数 __first_sample = df_per_day.iat[0, SRC_COL] #1日の最初のサンプル __for i in range(len(df_per_day)): ____df_per_day.iat[i, DST_COL] = df_per_day.iat[i, SRC_COL] / first_sample #結果を格納する場所を追加 df = df.assign(normalized=0.0) #DataFrameの1日ごと範囲を関数に渡して処理 for row in range(0, len(df), SAMPLES_PER_DAY): __normalize_sample(df.iloc[row:row+SAMPLES_PER_DAY,:])