前提・実現したいこと
以下のcsvファイルを読み込み,B列をx軸,C~GT列それぞれをy軸としたグラフを作成します.
B列が一定間隔ではないので,線形補間を行い,横軸を等間隔にし,補間した座標を求めました.
その後,DataFrameに格納し,A列が補間したx座標,B列が補間したy座標になるようにcsv出力をしました.
以下のコードのように,C~GT列を1列ずつ読みこみ,線形補間を行い,線形補間後の座標をDataFrameに格納し,x座標がA列,y座標がB列となるようにcsvファイルに出力することはできました.しかし,この作業を1列ずつ行うのは大変なので繰り返し処理を行い,最終的にA列に線形補間後のx座標,B列以降にC~GT列それぞれを処理したy座標となるような,csvファイルを作成したいと思っています.
発生している問題・エラーメッセージ
繰り返し処理のやり方がわかりません.
該当のソースコード
python
1import numpy as np 2from scipy import interpolate 3import matplotlib.pyplot as plt 4import pandas as pd 5 6#データ読み込み・グラフ表示 7wave=np.loadtxt('C:\Users\morim\Desktop\data_sample\Interferogram_00000.csv',delimiter=',') 8frequency=wave[0:,1] #B列の取り出し 9ampl=wave[0:,2] #C列の取り出し 10 11plt.plot(frequency,ampl) 12plt.xlabel('wavelength') 13plt.ylabel('amplitude') 14plt.show() 15 16#補間するx座標を作成する 17fre_latent=np.linspace(min(frequency),max(frequency),1024) 18#補間したy座標を作成する 19ip1=interpolate.interp1d 20fitted_curve=ip1(frequency,ampl) 21#データフレームに格納してcsv出力 22df=pd.DataFrame([fre_latent,fitted_curve(fre_latent)]) 23df.T.to_csv("C:\Users\morim\Desktop\senkeihokan.csv",header=False,index=False)
試したこと
そもそもデータの読み込みをpandasで行い,usecols=[1, k]のように特定の列のみを読みこみ,kをGT列になるまでの値にし,繰り返し処理をすればいいのかなと考えましたが,どこまでを繰り返し処理いれるか,DataFrameへの格納も繰り返し処理の中に入れてもいいのかとなってしまいました.
python初心者なので,調べ切れていないところも多くあるかと思いますが,よろしくお願いいたします.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/18 02:19