【发布时间】:2022-02-08 07:15:37
【问题描述】:
我正在尝试为某些模拟运行某人的脚本,以尝试绘制一些直方图,但是当我这样做时,我总是会收到上述错误消息。我不知道出了什么问题。
这是我得到的完整回溯错误:
File "AVAnalyse.py", line 205, in <module>
f.write(line[0] + ' ' + line[1] + ' ' + line[2] + ' ' + line[3])
TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('S32') dtype('S32') dtype('S32')
这是我要运行的代码:
name_out = "histogram_" + donor + "_" + acceptor + ".dat"
f = open(name_out, 'w')
f.write('distance d.probability efficiency e.probability')
for line in dist_hist:
f.write(line[0] + ' ' + line[1] + ' ' + line[2] + ' ' + line[3])
f.close()
print "data saved in " + "histogram_" + donor + "_" + acceptor + ".dat"
我做错了什么?
【问题讨论】:
-
向我们展示
shape和dtype的line或dist_hist。我怀疑line[0]是一个具有'S32' dtype 的数组,而不仅仅是这样一个数组的字符串元素。 -
@hpaulj
dist_hist = zeroes((bins,4))并且在脚本中又出现了 5 次,但我不确定这意味着什么,除了原始问题dist_hist[index_ef,3] += hist_add@ 987654330@dist_hist[:,0] = arange(mini,maxi,(maxi-mini)/(float(bins)-0.5))dist_hist[:,2] = arange(mine,maxe,(maxe-mine)/(float(bins)-0.5))—— -
显示
print(line)。 -
上述脚本之前的
print(line)是print "average distance between dyes is ", average_distance/(len(data[::step])*len(datd[::step])),而打印的下一行在问题中。如果我误会了,我很抱歉,感谢您提供帮助! -
我想看看
line在没有字符串格式问题的情况下是什么样子。