Python 如何将标题添加到numpy.ndarray

Python 如何将标题添加到numpy.ndarray,python,numpy,Python,Numpy,我有一个尺寸为23411 x 3的数组。 我想在名为“摘要”、“年龄”和“标签”的矩阵顶部添加标题。按这个顺序 在: 输出: 在: 输出: 我试着用numpy.recarray,但没用。有什么建议吗???我想没有办法做到这一点。试试matrix.dtype。这将为您提供类似于dtype('int32')的内容。您的标题将是字符串 据我所知,在一个numpy数组/矩阵中只能存储一个数据类型。您可以使用 创建您自己的类,其成员包括numpy数组和作为字符串的标题。您可以修改数据类型: >>

我有一个尺寸为23411 x 3的数组。 我想在名为“摘要”、“年龄”和“标签”的矩阵顶部添加标题。按这个顺序

在:

输出:

在:

输出:


我试着用numpy.recarray,但没用。有什么建议吗???

我想没有办法做到这一点。试试matrix.dtype。这将为您提供类似于dtype('int32')的内容。您的标题将是字符串

据我所知,在一个numpy数组/矩阵中只能存储一个数据类型。

您可以使用


创建您自己的类,其成员包括numpy数组和作为字符串的标题。

您可以修改数据类型:

>>> a = np.arange(12).reshape(4, 3)
>>> 
>>> dt = a.dtype
>>> 
>>> ahead = a.view(np.dtype([('summary', dt), ('age', dt), ('label', dt)]))
>>> 
>>> ahead
array([[(0,  1,  2)],
       [(3,  4,  5)],
       [(6,  7,  8)],
       [(9, 10, 11)]],
      dtype=[('summary', '<i8'), ('age', '<i8'), ('label', '<i8')])
>>> ahead['summary']
array([[0],
       [3],
       [6],
       [9]])
a=np.arange(12)。重塑(4,3) >>> >>>dt=a.dtype >>> >>>ahead=a.view(np.dtype([('summary',dt),('age',dt),('label',dt)]) >>> >>>在前面 数组([(0,1,2)], [(3, 4, 5)], [(6, 7, 8)], [(9, 10, 11)]],
dtype=[('summary','您是如何尝试重新排列的?我可以构造一个结构化数组,但过程并不简单。结果不仅仅是添加了头。您将如何处理数组和头?
a=np.asarray([2,2.1,“2”],dtype=object)
现在测试每个元素的类型。@MrT很好。这样可以强制第0个元素为名称为的字符串。
(23411L, 3L)
type(matrix)
numpy.ndarray
import pandas as pd
matrix = [...] # your ndarray

matrix = pd.DataFrame(data=matrix, columns=["summary", "age", "label"])
>>> a = np.arange(12).reshape(4, 3)
>>> 
>>> dt = a.dtype
>>> 
>>> ahead = a.view(np.dtype([('summary', dt), ('age', dt), ('label', dt)]))
>>> 
>>> ahead
array([[(0,  1,  2)],
       [(3,  4,  5)],
       [(6,  7,  8)],
       [(9, 10, 11)]],
      dtype=[('summary', '<i8'), ('age', '<i8'), ('label', '<i8')])
>>> ahead['summary']
array([[0],
       [3],
       [6],
       [9]])
>>> ahead @ ahead.T
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: invalid data type for einsum