制作 2 个数组(根据您的显示器改编 - 但简单的复制粘贴会更好):
In [63]: arr1 = np.array([ 'Bob', 'Bobby', '...'])
...: arr2 = np.array([ 'Dave', 'David', '...'])
In [64]: arr1
Out[64]: array(['Bob', 'Bobby', '...'], dtype='<U5')
In [65]: arr2
Out[65]: array(['Dave', 'David', '...'], dtype='<U5')
连接 2 个一维数组的一种常用方法:
In [66]: np.vstack((arr1,arr2))
Out[66]:
array([['Bob', 'Bobby', '...'],
['Dave', 'David', '...']], dtype='<U5')
这可以转换成你想要的“列”:
In [67]: _.T
Out[67]:
array([['Bob', 'Dave'],
['Bobby', 'David'],
['...', '...']], dtype='<U5')
另一种方式:
In [68]: np.stack((arr1,arr2), axis=1)
Out[68]:
array([['Bob', 'Dave'],
['Bobby', 'David'],
['...', '...']], dtype='<U5')
这样的二维数组显示是你想要的,但我认为理解底层数据结构比正确获取格式细节更重要。
但是格式化这样一个不带引号和 [] 的数组的最简单方法是使用旨在写入 csv 文件的函数:
In [69]: np.savetxt('test.txt', _, fmt='%10s')
In [70]: cat test.txt
Bob Dave
Bobby David
... ...
这个函数相当简单,对数组的行进行迭代,并对行进行格式化。这可能是一个很好的练习,可以使用您必须在 Python 简介中学习过的基本 Python 字符串格式!
或将数组视为列表,只需迭代和打印:
In [71]: for a, b in zip(arr1,arr2):
...: print(a,b)
...:
Bob Dave
Bobby David
... ...
你看,这不是numpy 的任务;最好使用字符串列表。
或者pandas:
In [72]: pd.DataFrame(Out[67])
Out[72]:
0 1
0 Bob Dave
1 Bobby David
2 ... ...