示例温度文本文件:
File: t091110_065921.SFTC Src: J1903+0925 Nsub: 1 Nch: 1 Npol: 4 Nbin: 1024 RMS: 0.00118753
0 0 0 0.00148099 -0.00143755 0.000931365 -0.00296775
0 0 1 0.000647476 -0.000896698 0.000171287 0.00218597
0 0 2 0.000704697 -0.00052846 -0.000603842 -0.000868739
.
.
etc..
谢谢你!在
为了回答这个问题是如何生成的,我使用了以下代码:
for i in range(numrows):
epoch_name = y['filename'][i]
os.system('pdv -t {0} > temp.txt '.format(epoch_name))
stokes_line = np.genfromtxt('temp.txt', usecols=3, dtype=[('stokesI','float')], skip_header=1)
stokes_list.append(stokes_line)
stokes_columns = zip(*stokes_list)
因此,我使用其他一些带有“pdv”命令的软件,在每次程序循环(进入文本文件)时生成一个值网格。然后我从这个文本文件中取出一个特定的列并将其添加到“stokes_list”。最后,我转置数组(或它是什么)以便列变成行。在
在Python中,我有一个列表列表(或任何数组,我真的不懂术语),看起来像:
^{pr2}$首先,我不确定为什么它在方括号内有括号,而不是方括号内的方括号。第二,我不知道为什么数字后面有个逗号,而它们本身又出现在括号中。无论如何,也许需要更多的背景来回答这个问题。但我真正的问题是,我试图以以下格式将其写入文件:
1 2 3
4 5 6
7 8 9
我正在尝试:
with open('final.txt','w') as f:
for row in stokes_columns:
f.write('\t'.join(row)+'\n')
其中“stokes_columns”是顶部我的数组/列表的名称。在
我收到错误消息:
f.write('\t'.join(row)+'\n')
TypeError: sequence item 0: expected string, numpy.void found
有人能帮我做这个吗?在
这不是创建或转置numpy矩阵的方法(尤其是因为它不是numpy矩阵-它是numpy向量的常规列表)。尝试以下操作:
您不是试图编写元组列表,而是编写一个具有灵活数据类型的numpy数组(
void
,在本例中,与您的TypeError
相对应)。灵活的数据类型没有预定义的大小,因此在保存之前,您应该决定要使用哪个数据类型来存储数组。例如,假设要将数据存储为int16,可以执行以下操作:我觉得应该行得通。在
join
需要字符串数组。您的第三行应该是:如果需要,可以在一个语句中完成整个操作:
^{pr2}$相关问题 更多 >
编程相关推荐