【发布时间】:2012-10-02 13:36:38
【问题描述】:
我有一个小问题,但我无法找到一个简单的答案。我觉得问它很愚蠢。
如何将标量与 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 的矩阵,第一行是标题。如果需要,我可以发布它。
谢谢
【问题讨论】:
-
你能在乘法之前打印
t1吗? -
我放了 print t1,这是输出:[ 1.09000000e+02 2.19000000e+02 3.28000000e+02 ..., 4.95031000e+05 4.95141000e+05 4.95250000e+05]跨度>
标签: python numpy multidimensional-array