[Python] リスト(list)と他の形式(pandas.core.frame.DataFrame)の掛け算のエラー

実現したいこと

[現状の概要]
① csvファイルの読込(pd.read_csvを使用)
② 上記をオーバーラップ
③ ②のリスト(pandas.core.frame.DataFrame)と他のリスト(list)の掛け算
現状、③の時点でエラーが発生

[エラー内容]
「Unable to coerce to Series, length must be 1: given 128」

[使用環境]
windows10 64bit
python3.8
※各ライブラリは最新のものを使用

[プログラム]-------------------------------------------------ここから

import numpy as np from matplotlib import pyplot as plt import pandas as pd from scipy import signal fs = 128 #1フレームあたりのデータ個数 data = pd.read_csv("○○.csv", encoding="shift-jis", usecols=[1], skiprows=3, header=None) data_ol, y = ov(data, 10, fs, 50) #オーバーラップ(ov関数はここでは省略) han = signal.hann(fs) #fs個のハニング窓生成 t = np.arange(0, fs)/10 #横軸計算(0~9.9) fig = plt.figure() #オーバーラップ波形に対しハニング窓をかける for k in range(y): data_ol[k] = data_ol[k] * han ←ここでエラー発生

上記のプログラムより、各変数の形式をtype関数で検索すると,,,
・data_ol:<class 'list'>
・data_ol[0]:<class 'pandas.core.frame.DataFrame'>
・han:<class 'numpy.ndarray'>
となっています。

クラスが異なることで、上記のエラーが出ているかと思ってい、
tolist()関数を使用し試してみたのですが、使い方が間違っているのか、
はたまた違う原因でうまくいかないのか全く分かっていません。。。

なぜエラーが出ているのか、またその解決方法についてご教授お願い致します。

コメントを投稿

0 コメント