我必须用数据列填充文本文件,以及时显示某些变量的变化。对于每个变量,我想创建一个列数组,然后将它们连接在一个矩阵中,以便写入文本文件。我这样做:
import numpy as np
result = np.empty((0,1))
for data in [var1 var2 var3 var4]
results_tmp = np.empty((0,1))
for i in len(data):
results_tmp = np.append(results_tmp, [data[i]], axis=0)
如何使用result
列填充results_tmp
数组?
答案 0 :(得分:0)
你建议这样做的方式很慢。最好用列表构造数据,然后创建一个数组:
result = []
for data in [var1, var2, var3, var4]:
results_tmp = []
for val in data:
results_tmp.append(val)
result.append(results_tmp)
result_array = np.array(result).T
另一种方法是,如果你能得到var
的长度,那就是:
result = np.empty((len(var1), 4))
for id1, data in enumerate([var1, var2, var3, var4]):
for id0, val in enumerate(data):
result[id0, id1] = val
但这两种方法都使用for循环,应尽可能避免使用。因此,更好的方法是在一个操作中构造数组:
result = np.array([var1, var2, var3, var4]).T
这会给你你想要的吗?请注意使用.T
,它会对数组进行转置,以便results_tmp
位于列中。