我有一个列表A
和一个numpy数组B
,它们将按列堆叠,如下所示:
输入
A = ['A', 'B', 'C']
B = [[ 1 2 3 4 5 6]
[ 6 7 8 9 10 11]
[11 12 13 14 15 16]]
所需的输出
[['A' '1' '2' '3' '4' '5' '6']
['B' '6' '7' '8' '9' '10' '11']
['C' '11' '12' '13' '14' '15' '16']]
我尝试使用以下代码但导致错误:
import numpy as np
A = ['A', 'B', 'C']
B = np.array([[1, 2, 3, 4, 5, 6], [6, 7, 8, 9, 10, 11], [11, 12, 13, 14, 15, 16]])
np.savetxt('test.txt', np.column_stack((A, B)))
怎么做?
答案 0 :(得分:1)
您可以将fmt
指定为'%s'
:
np.savetxt('test.txt', np.column_stack((A, B)), fmt='%s')
问题是默认情况下fmt='%.18e'
和数组中的字符串(例如'A'
)不代表数值。
savetxt
documentation(下面引用)中给出了说明符列表,并在Python documentation中有更详细的介绍。
c
:字符
d
或i
:带符号的十进制整数
e
或E
:e
或E
的科学记数法。
f
:十进制浮点
g
,G
:使用较短的e
,E
或f
o
:签名八进制
s
:字符串
u
:无符号十进制整数
x
,X
:无符号十六进制整数