n-d中的1-D到2-D阵列

时间:2012-09-05 01:08:01

标签: python numpy

我在numpy中有一个1-D数组,其形状为(761,),每个条目都是10元组,其元素我无法独立访问。 dtype是

array1.dtype

dtype([('Name', '|S58'), ('Category', '|S32'), ('HQLocation', '|S34'),
       ('YearFounded', '<i8'), ('Latitude', '<f8'), ('Longitude', '<f8'), 
       ('TotalFundingAmount', '<i8'), ('LastFundingAmount', '<i8'), 
       ('Investors', '<i8'), ('NGrams', '|S98')])

示例行是array1 [578]

('"FoxyP2, Inc."', 'Education', '"Cuajimalpa, Mexico"', 2006, 19.3547, 
 -99.3001, 55317213, 42999977, 3, 
 'english;learning;reinvent;experience;english learning')

我正在尝试将其变成一个二维数组,其形状为(761,10),同时保留列名和数据类型。

1 个答案:

答案 0 :(得分:2)

输入不可能,因为不同的列没有相同的类型:其中一些是字符串,一些是浮点数,一些是整数。

NumPy数组是同类的,这意味着所有条目必须具有相同的数据类型。此数据类型可以很简单(intfloat,...)或复杂(如第一个元素为"|S58"的元组,其第四个为int,其中第五个是float ...),但无论如何,所有条目都具有相同的类型。您可以在文档herehere中获取更多信息。

但为什么需要2D阵列?您可以使用索引独立访问和操作每个列(例如,your_array[YearFounded]将返回您的第四列)...