Pythonで実験データを積分したい

Python3で、データロガーで取得したデータを積分したいです。
時々刻々と積分するために、関数を作成し、
CSVから読み取ったデータ(DataFrame)を積分させようと
以下のソースを記述しました。

該当のソースコード

import glob
import pandas as pd
import re
import numpy as np

def atoi(text):
return int(text) if text.isdigit() else text

def natural_keys(text):
return [ atoi(c) for c in re.split(r'(\d+)', text) ]

#フォルダ指定
fol = "./DL"

#フォルダ内の特定ファイル一覧の取得
files = sorted(glob.glob("Hz"), key = natural_keys)

#ファイル数を変換
file_number = len(files)

#計測器からのデータを成形
#CSVファイルの中身を読みだして、リスト形式にまとめる
#行数が合わなければ、skiprowsを調整
csv_list = []
for file in files:
csv_list.append(pd.read_table(file, header=None, sep="," , skiprows=10))

#CSVファイルの結合
#測定CH数に応じて、ilocの列数を変更する
merge = pd.concat(csv_list)
merge_csv = merge.iloc[:,1:7] #余分な列を削除

BlockSize = 1001000
HResolution = 1e-7
time = np.arange(0, BlockSize*HResolution, HResolution)
df_time = pd.DataFrame(time)

c=4 #切り出す列数指定 ※測定したCHを指定
df_n =pd.Series.to_frame( merge_csv[c]) #c列目

df_n_1 = df_n.iloc[0:BlockSize, :]

#積分関数
def B_integral(HResolution, df_n_1):
xt = 0.
x = []
for i in df_n_1:
xt += i * HResolution
x.append(xt)
return x

if name == 'main':
x = B_integral(df_n_1, HResolution)

エラー

TypeError: 'float' object is not iterable
と表記されます。
インターネットで検索しつつ対策しようとしましたが、
手詰まりとなり、ご教授いただければと思います。

補足情報(FW/ツールのバージョンなど)

Python3

CSVファイルの中身は、以下のようになっており、(ここには書ききれませんので省略しています)データサイズが1001000です。

Model Xviewer
BlockNumber 1
TraceName CH1 CH2 CH3 CH5 CH6 CH7
BlockSize 1001000 1001000 1001000 1001000 1001000 1001000
Date 2022/9/6 2022/9/6 2022/9/6 2022/9/6 2022/9/6 2022/9/6
Time 06:09.3 06:09.3 06:09.3 06:09.3 06:09.3 06:09.3
VUnit A A A V V V
HResolution 1.00E-08 1.00E-08 1.00E-08 1.00E-08 1.00E-08 1.00E-08
HOffset 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00
HUnit s s s s s s
0.2008333 4.483333 -3.735833 -8.841666 -8.74 -8.99
0.2008333 4.483333 -3.735833 -8.841666 -8.740833 -8.990833
0.2008333 4.483333 -3.736667 -8.8425 -8.740833 -8.990833
0.2016667 4.483333 -3.736667 -8.8425 -8.740833 -8.990833
0.2016667 4.483333 -3.736667 -8.8425 -8.740833 -8.990833
0.2016667 4.483333 -3.736667 -8.8425 -8.740833 -8.990833
0.2025 4.4825 -3.7375 -8.8425 -8.740833 -8.990833
0.2025 4.4825 -3.7375 -8.8425 -8.741667 -8.991667
0.2025 4.4825 -3.7375 -8.843333 -8.741667 -8.991667
0.2033333 4.4825 -3.7375 -8.843333 -8.741667 -8.991667
0.2033333 4.4825 -3.738333 -8.843333 -8.741667 -8.991667
0.2033333 4.4825 -3.738333 -8.843333 -8.741667 -8.991667
0.2041667 4.4825 -3.738333 -8.843333 -8.741667 -8.991667
0.2041667 4.4825 -3.738333 -8.843333 -8.7425 -8.9925
0.2041667 4.4825 -3.738333 -8.844167 -8.7425 -8.9925

コメントを投稿

0 コメント