【发布时间】:2017-06-08 10:50:18
【问题描述】:
我正在尝试使用从 0 到 1 的随机数的 numpy 数组:
import numpy as np
x = np.random.random((3,3))
产量
[[ 0.11874238 0.71885484 0.33656161]
[ 0.69432263 0.25234083 0.66118676]
[ 0.77542651 0.71230397 0.76212491]]
而且,从这个数组中,我需要值大于 0.3 的行、列组合。所以预期的输出应该是这样的:
(0,1),(0,2),(1,0),(1,2),(2,0),(2,1),(2,2)
为了能够提取item(x[row][column] 的值),并尝试将输出写入文件。我尝试了以下命令:
with open('newfile.txt', 'w') as fd:
for row in x:
for item in row:
if item > 0.3:
print(item)
for row in item:
for col in item:
print(row,column,'\n')
fd.write(row,column,'\n')
但是,它会引发错误:
TypeError: 'numpy.float64' object is not iterable
另外,我搜索但找不到如何从 1 而不是 0 开始 numpy 索引。例如,预期的输出将如下所示:
(1,2),(1,3),(2,1),(2,3),(3,1),(3,2),(3,3)
你知道如何获得这些输出吗?
【问题讨论】:
标签: arrays numpy random indexing extract