我有一些数据为numpy 2D array list-
array([[ 0.62367947],
[ 0.95427859],
[ 0.97984112],
[ 0.7025228 ],
[ 0.86436385],
[ 0.71010739],
[ 0.98748138],
[ 0.75198057]])
array([[-1., 1., -1.],
[-1., 1., 1.],
[ 1., 1., 1.],
[ 1., -1., 1.],
[-1., -1., -1.],
[ 1., 1., -1.],
[ 1., -1., -1.],
[-1., -1., 1.]])
我想将它们保存在txt文件中,以便它们看起来像
0.62367947 -1 1 -1
0.95427859 -1 1 1
0.97984112 1 1 1
有人可以使用numpy savetxt帮助我如何做到这一点
答案 0 :(得分:5)
import numpy as np
R = np.array([[0.62367947],
[0.95427859],
[0.97984112],
[0.7025228],
[0.86436385],
[0.71010739],
[0.98748138],
[0.75198057]])
phase = np.array([[-1., 1., -1.],
[-1., 1., 1.],
[1., 1., 1.],
[1., -1., 1.],
[-1., -1., -1.],
[1., 1., -1.],
[1., -1., -1.],
[-1., -1., 1.]])
np.savetxt('R2.txt', np.hstack([R, phase]), fmt=['%0.8f','%g','%g','%g'])
产量
0.62367947 -1 1 -1
0.95427859 -1 1 1
0.97984112 1 1 1
0.70252280 1 -1 1
0.86436385 -1 -1 -1
0.71010739 1 1 -1
0.98748138 1 -1 -1
0.75198057 -1 -1 1
np.hstack水平堆叠数组。由于R
和phase
都是二维的,np.hstack([R, phase])
会产生
In [137]: np.hstack([R,phase])
Out[137]:
array([[ 0.62367947, -1. , 1. , -1. ],
[ 0.95427859, -1. , 1. , 1. ],
[ 0.97984112, 1. , 1. , 1. ],
[ 0.7025228 , 1. , -1. , 1. ],
[ 0.86436385, -1. , -1. , -1. ],
[ 0.71010739, 1. , 1. , -1. ],
[ 0.98748138, 1. , -1. , -1. ],
[ 0.75198057, -1. , -1. , 1. ]])
将此2D数组传递给np.savetxt
可获得所需的结果。