import cv2 import numpy as np import matplotlib.pyplot as plt import csv import glob import pandas as pd ##### 実験条件、分析対象の設定 ###### t = np.arange(0,8.192,0.0005) #サンプリング時間,周波数の指定(開始時間(=0),終了時間,サンプリング周期) file = '0.73' #分析対象のファイル指定 ##### データの読み込みy ##### for i in range(4): print(i) def loadvtp(file,i): #ファイルの読み込みに使用する関数の定義 vtp = pd.read_csv(file+'.csv', dtype='float', skiprows=57, usecols=[i+3], nrows=16384, engine='python', header=None) #解析対象となるデータの読み込み vtp = vtp - np.mean(vtp) #平均を引く vtp = np.squeeze(vtp) return vtp ##### 主流(x)成分出力の計算 ##### vx = loadvtp(file,i).T ##### FFT ##### freq = np.fft.fftfreq(16384, 1/2000) #周波数軸の生成(サンプリング点数, サンプリング周期) f = np.fft.fft(vx) #FFT f [0]=f[0]/2 #定常成分を1/2にする(スケーリングに必要) amp = np.abs(f)/(16384/2) #FFT結果を振幅に合わせてスケーリング freq = freq[0:16384] #周波数軸の対称成分を除く amp = amp[0:16384] #振幅の対称成分を除く if i==0: y=amp x="" v="" w="" elif i==1: y=y x=amp v="" w="" elif i==2: y=y x=x v=amp w="" elif i==3: y=y x=x v=v w=amp print(y) print(x) print(v) print(w) df = [freq, y, x, v, wave] pd.DataFrame(df).to_csv('FFT.csv', index=None)
上記のようにコードを組んだのですが,以下のようにエラーが出力されてしまいます.
また,改行して出力させたいのですが,列方向に出力されてしまします.
解決方法を教えていただきたいです.
0 [1.27054942e-20 3.73155906e-05 2.39662117e-05 ... 2.48307782e-05 2.39662117e-05 3.73155906e-05] 1 [1.27054942e-20 3.73155906e-05 2.39662117e-05 ... 2.48307782e-05 2.39662117e-05 3.73155906e-05] [1.52465931e-19 2.09017617e-04 2.81324756e-05 ... 3.48066010e-04 2.81324756e-05 2.09017617e-04] 2 [1.27054942e-20 3.73155906e-05 2.39662117e-05 ... 2.48307782e-05 2.39662117e-05 3.73155906e-05] [1.52465931e-19 2.09017617e-04 2.81324756e-05 ... 3.48066010e-04 2.81324756e-05 2.09017617e-04] [1.14735695e-16 5.44942847e-02 1.67353606e-02 ... 4.19159752e-02 1.67353606e-02 5.44942847e-02] 3 ERROR thonny.backend: PROBLEM WITH THONNY'S BACK-END Traceback (most recent call last): File "C:\Users\username\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\cpython\cpython_backend.py", line 1240, in wrapper result = method(self, *args, **kwargs) File "C:\Users\username\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\cpython\cpython_backend.py", line 1227, in wrapper return method(self, *args, **kwargs) File "C:\Users\username\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\cpython\cpython_backend.py", line 1297, in _execute_prepared_user_code exec(statements, global_vars) File "C:\Users\username\Desktop\M1\Python\実験データ処理(fft) - ver3.py", line 31, in <module> f = np.fft.fft(vx) #FFT File "<__array_function__ internals>", line 6, in fft File "C:\Users\username\AppData\Roaming\Python\Python37\site-packages\numpy\fft\_pocketfft.py", line 185, in fft output = _raw_fft(a, n, axis, False, True, inv_norm) File "C:\Users\username\AppData\Roaming\Python\Python37\site-packages\numpy\fft\_pocketfft.py", line 56, in _raw_fft % n) ValueError: Invalid number of FFT data points (0) specified. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\username\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\cpython\cpython_backend.py", line 1285, in execute_source return self._execute_prepared_user_code(statements, global_vars) File "C:\Users\username\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\cpython\cpython_backend.py", line 1245, in wrapper return {"user_exception": self._backend._prepare_user_exception()} File "C:\Users\username\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\cpython\cpython_backend.py", line 1078, in _prepare_user_exception "stack": self._export_stack(last_frame), File "C:\Users\username\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\cpython\cpython_backend.py", line 970, in _export_stack module_name = system_frame.f_globals["__name__"] KeyError: '__name__'
読み込んだcsvの写真です.c列目からf列目を読み込みたいです.
時間はb列ではなく,開始時間を0秒,終了時間を8.192秒,時間刻みを0.0005秒としています.
サンプリング点数は16384点です.
よろしくお願いいたします.
回答1件
あなたの回答
tips
プレビュー