3

我需要在 numpy 中创建一个具有多种数据类型的 3D 数组。

arr[int][str][int] 

我尝试过np.newaxis结合使用rec.array

编辑:我打算让第一列是文本或字符串。然后第二列保存整数值。

然后,它跨越多个表作为 3D 数组。

在此处输入图像描述

就像这张照片一样,每张桌子只有两列。第一个保存字符串,第二个保存整数值

4

1 回答 1

0

您可以创建np.recarray如下所示的:

a = np.recarray(4,dtype=[('col1',int),('col2','|S10'),('col3',int)])
a['col1'] = range(4)
a['col2'] = ['a', 'b', 'c', 'd']
a['col3'] = range(11,15)

print a
# [(0, 'a', 11) (1, 'b', 12) (2, 'c', 13) (3, 'd', 14)]

如果你想去一个2D数组,使用dtype=object

a = np.array([[0,1,2,3],['a','b','c','d'],[11,12,13,14]], dtype=object)

print a
#[[0 1 2 3]
# ['a' 'b' 'c' 'd']
# [11 12 13 14]]
于 2013-08-03T11:58:21.813 回答