如何列堆栈列表和Numpy数组和savetxt?

时间:2015-03-18 20:07:58

标签: python arrays list numpy

我有一个列表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)))

怎么做?

1 个答案:

答案 0 :(得分:1)

您可以将fmt指定为'%s'

np.savetxt('test.txt', np.column_stack((A, B)), fmt='%s')

问题是默认情况下fmt='%.18e'和数组中的字符串(例如'A')不代表数值。

savetxt documentation(下面引用)中给出了说明符列表,并在Python documentation中有更详细的介绍。

  

c:字符

     

di:带符号的十进制整数

     

eEeE的科学记数法。

     

f:十进制浮点

     

gG:使用较短的eEf

     

o:签名八进制

     

s:字符串

     

u:无符号十进制整数

     

xX:无符号十六进制整数