如何删除double [[对于python中的一维矩阵?

时间:2019-03-01 16:00:35

标签: python numpy matrix

我正在研究一个深度学习项目(使用Python),但是我的代码有问题。我得到这样的输出:

[[-0.00111287 -0.97692661 -0.9939433  -0.99474857]]

我想将其更改为:

[-0.00111287 -0.97692661 -0.9939433  -0.99474857]

任何人都可以通过简单的功能来帮助我。我找不到能完成这项工作的任何功能。

谢谢!

3 个答案:

答案 0 :(得分:1)

我假设您有一个numpy.ndarray?您可以通过执行array.ravel()将任何数组展平为一维。此外,您可以使用array.reshape将数组重塑为任何所需的形状(与数组中的元素数量兼容)。 array.reshape(-1)array.ravel()相同。有关重塑数组的更多信息,请参见here。最后,您也可以得到array_1d = array_2d[0],但是我在代码中并不十分清楚,因为在读者看来,您似乎只是在选择2D数组的第一行。进行array_1d = array_2d.ravel()可以清楚地表明,您保留了所有元素,只是对数组进行了展平。

答案 1 :(得分:1)

尝试一下:

import numpy as np
my_matrix = [[-0.00111287, -0.97692661, -0.9939433, -0.99474857]]
result = list(np.array(my_matrix).reshape(-1))
print(result)

# [-0.00111287, -0.97692661, -0.9939433, -0.99474857]

答案 2 :(得分:0)

如果您不使用numpy数组,则itertools提供了一个名为chain()的函数,该函数可用于拉平列表:

from itertools import chain
array = list(chain(*matrix))