bmo*_*gan 6 python arrays numpy stdout python-3.x
将Numpy 2D数组写入stdout的惯用方法是什么?比如我有一个阵列
a = numpy.array([[2., 0., 0.], [0., 2., 0.], [0., 0., 4.]])
[[ 2. 0. 0.]
[ 0. 2. 0.]
[ 0. 0. 4.]]
Run Code Online (Sandbox Code Playgroud)
我希望输出为:
2.0 0.0 0.0
0.0 2.0 0.0
0.0 0.0 4.0
Run Code Online (Sandbox Code Playgroud)
我可以通过转换为嵌套列表,然后加入列表元素来完成此操作:
print( '\n'.join( [ ' '.join( [ str(e) for e in row ] ) for row in a.tolist() ] ) )
Run Code Online (Sandbox Code Playgroud)
但是想要像:
a.tofile( sys.stdout )
Run Code Online (Sandbox Code Playgroud)
(除了这给出了语法错误).
sei*_*chi 14
以下代码怎么样?
>>> a = numpy.array([[2., 0., 0.], [0., 2., 0.], [0., 0., 4.]])
>>> numpy.savetxt(sys.stdout, a, fmt='%.4f')
1.0000 2.0000 3.0000
0.0000 2.0000 0.0000
0.0000 0.0000 4.0000
Run Code Online (Sandbox Code Playgroud)
在Python 3+中,使用numpy.savetxt(sys.stdout.buffer, ...).
| 归档时间: |
|
| 查看次数: |
2462 次 |
| 最近记录: |