Python,hstack不同类型的列numpy数组(列向量)

5 投票
3 回答
9241 浏览
提问于 2025-04-17 09:18

我现在有一个多维的numpy数组(类型是浮点数),还有一个numpy的列数组(类型是整数)。我想把这两个数组合并成一个多维的numpy数组。

import numpy

>> dates.shape
(1251,)
>> data.shape
(1251,10)
>> test = numpy.hstack((dates, data))
ValueError: all the input arrays must have same number of dimensions

为了说明这两个数组的类型是不同的:

>> type(dates[0])
<type 'numpy.int64'>
>> type(data[0,0])
<type 'numpy.float64'>

3 个回答

0

这行代码的意思是,把两个东西横着拼在一起。这里用的是一个叫做`numpy`的工具,它是用来处理数字和数组的。

具体来说,`dates[:,numpy.newaxis]`是把`dates`这个数组的形状变得更适合拼接,而`data`是另一个数组。`numpy.hstack`这个函数就是用来把这两个数组横着合并成一个新的数组。

简单来说,就是把日期和数据放在一起,形成一个新的表格,方便后续处理。

1

类型并不重要,你应该把日期的形状调整为(1251, 1)再使用hstack。

另外,整数会被转换成浮点数。

11
import numpy as np

np.column_stack((dates, data))

这些类型会自动转换成最精确的类型,所以你的整型数组会被转换成浮点型。

撰写回答