-1

小さな問題がありますが、簡単な答えが見つからないので、質問するのはバカです。

スカラーにnumpy.ndarrayを掛けるにはどうすればよいですか?

import fileinput,sys,re,csv,scipy,os,numpy,pylab
from collections import defaultdict
from matplotlib.pyplot import *
from StringIO import StringIO
import numpy as num
a = open("testt.txt", "r")
b=[ raw.strip().split() for raw in a]
c=np.array(b)
d=c.transpose()  
data=np.loadtxt("uu.txt",skiprows=1,dtype=None,delimiter='\t')
t1 = data[:,0]
t=(1/1000)*t1
s = data[:,9]
pylab.plot(t1, s)
pylab.xlabel('time (ms)')
pylab.ylabel('Zone height (mm)')
pylab.grid(True)
pylab.savefig('simple_plot')
pylab.show()

エラーはt=(1/1000)* t1の行にあり、エラーが発生します:TypeError:*:'int'および'numpy.ndarray'のサポートされていないオペランドタイプ。テキストファイルuu.txtは、最初の行にヘッダーが付いた60 * 60のマトリックスです。必要に応じて、投稿できます。

ありがとう

4

1 に答える 1

2

ちょっと意外です。dataがの場合ndarray、それt1=data[:,0]ndarrayであり、intを掛けても問題はありません。

まだ:

  • のタイプとt1そのを確認でき.shapeます。
  • 念のために強制t1することができますndarrayt1=np.asarray(data[:,0])
  • 私はあなたが計算したくないと確信しています(1/1000)が、(1./1000)代わりに:整数除算のおかげです(1/1000)...0
于 2012-10-02T13:43:32.840 に答える