【发布时间】:2016-08-24 05:02:57
【问题描述】:
这是一个非常基本的代码,可以满足我的需求...除了文本文件的编写。
import numpy as np
f = open("..\myfile.txt", 'w')
tst = np.random.random(5)
tst2 = tst/3
for i in range(3):
for j in range(5):
test = np.random.random(5)+j
a = np.random.normal(test, tst2)
np.savetxt(f, np.transpose(a), fmt='%10.2f')
print a
f.close()
此代码将在 for 循环的每次迭代后将单个列连接到 .txt 文件中。
我想要的是每次迭代的独立列。
如何做到这一点?
注意:我也使用了np.c_[],并且将写列if我在命令中表达了每次迭代。即:np.c_[a[0],a[1]] 等等。问题在于,如果我的 i 和 j 值都非常大怎么办?遵循这种方法是不合理的。
【问题讨论】:
-
演示最后一个
np.c_[]位。这有什么不合理的地方? -
在这个小例子所涉及的实际代码中,我有 3 个嵌套的 for 循环,总共 804 次迭代,以我的小样本大小生成一个 17700 行的 .txt 文件。随着样本量的增加,迭代需求也会发生变化。这就是为什么它不合理。
-
更详细地解释期望的文件布局。多少列,多少行?迭代与列或行的关系是什么?
-
列数与迭代次数有关,行数与来源的数据点数有关。 @hpaulj 我喜欢您在下面使用 np.append 功能的示例,但是我还不能让它工作。请参阅 [stackoverflow.com/q/39010539/3920407] 了解正在使用的代码的更好示例。
标签: python python-2.7 numpy for-loop