前提・実現したいこと
以前の質問の続きのなのですが、物理学の研究で、時間に対する電圧の変化をデータで測定しました。その電圧の平均的な時間変化をエラー付きで求めようとしています。
~やりたいこと~
Python3でpandasを用いて複数のファイルを読み込んで、その右側の配列を結合します。そして列ごとの合計で列ごとの各要素を割ることで電圧を正規化し、それを同じ時間で足すことにより平均的な時間変化を求めています。その結果を新しいファイルに書き込みたいです。
後述のプログラムでの結果で
result
1-2e-05 -0.3139681746489832 0.03213016038827265 2-1.99e-05 -0.2830131495821651 0.02709025052961652 3-1.98e-05 -0.30594607855274103 0.03443808408653539 4-1.97e-05 -0.25958609416911127 0.029006046680498967 5-1.96e-05 -0.29720814091320474 0.04062013585310722 6︙
という出力ファイルができるのですが、これを
result
1-2e-05 -0.3139681746489832 0 0.03213016038827265 2-1.99e-05 -0.2830131495821651 0 0.02709025052961652 3-1.98e-05 -0.30594607855274103 0 0.03443808408653539 4-1.97e-05 -0.25958609416911127 0 0.029006046680498967 5-1.96e-05 -0.29720814091320474 0 0.04062013585310722 6︙
このように3列目に0の数字列を付け加えたいです。
###読み込むファイル
このようなCSVファイルをあるだけ読み込んでおります。
CSV
1Record Length,2.500000e+03,, -0.000025000000, 0.00000, 2Sample Interval,1.000000e-07,, -0.000024900000, 0.00800, 3Trigger Point,2.500000000000e+02,, -0.000024800000, 0.00000, 4,,, -0.000024700000, 0.00000, 5,,, -0.000024600000, 0.01600, 6,,, -0.000024500000, 0.01600, 7 ︙ 8,,,00.000224700000, 0.00000, 9,,,00.000224800000, 0.00800, 10,,,00.000224900000, 0.01600,
該当のソースコード
Python3
1import pandas as pd 2import glob 3import os 4import math 5import csv 6 7adf = glob.glob("*.CSV") 8li = [] 9for filename in adf: 10 df = pd.read_csv(filename, names=("0","1","2","3","4","5")) 11 df3 = df.set_index("3") 12 df2 = df3.iloc[50:2250] 13 df1 = df2.drop(df.columns[[0,1,2,5]], axis=1) 14 li.append(df1) 15 16df1 = pd.concat(li, axis=1, ignore_index=True) 17 18path = os.getcwd() 19files = os.listdir(path) 20count = len(files) 21 22df_pr = df1.apply(lambda li:li/sum(abs(li)/count)) 23 24result = df_pr.T.describe() 25result_mean = df_pr.T.mean() 26result_sum = df_pr.T.sum() 27result_cov = df_pr.T.cov() 28result_std = df_pr.T.std() 29 30result = pd.concat([result_mean,result_std/math.sqrt(count)],axis=1) 31result.to_csv("result.dat", header=None, sep=" ")
試したこと
一応自分なりに調べたのですが、少し前のことでその作成したプログラムがどこか行ってしまいました。
補足情報(FW/ツールのバージョンなど)
ubuntu:18.04
Python:3.6.9
pandas:1.0.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/01 05:39
2020/10/01 05:49
2020/10/01 06:15