Python 数组到一维向量

标签 python numpy

是否有一种 pythonic 方法可以将结构化数组转换为向量?

例如:

我正在尝试像这样转换一个数组:

[(9,), (1,), (1, 12), (9,), (8,)]

像这样的向量:

[9,1,1,12,9,8]

最佳答案

In [15]: import numpy as np

In [16]: x = np.array([(9,), (1,), (1, 12), (9,), (8,)])

In [17]: np.concatenate(x)
Out[17]: array([ 9,  1,  1, 12,  9,  8])

另一个选项是 np.hstack(x),但为此目的,np.concatenate 更快:

In [14]: x = [tuple(np.random.randint(10, size=np.random.randint(10))) for i in range(10**4)]

In [15]: %timeit np.hstack(x)
10 loops, best of 3: 40.5 ms per loop

In [16]: %timeit np.concatenate(x)
100 loops, best of 3: 13.6 ms per loop

关于Python 数组到一维向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18048646/

相关文章:

python - 逻辑回归: Bias and cost function in tensorflow

python - 按给定条件提取 numpy 行

python - 如何对列表[多个元素]执行逻辑运算或?

python - ILOG OPL 与 Python

python - 如何让 turtle 记住它在 L 系统中的位置?

python - 如何有条件地在 numpy ndarray 的特定 Axis 上的特定位置设置值

python - tensorflow:如何喂养 numpy.ndarray?

python - 如何用 NumPy 计算欧几里得距离?

python - 如何使用 numpy 在单次测试中找到 kmeans 的平均值

Python 速记运算符?