我如何重塑这个numpy数组

时间:2019-12-11 12:44:18

标签: python arrays numpy reshape

我有一个像这样的数组:

[[[a, b], [c, d], [e, f]]]

当我对该数组进行整形时,它会给出(2,)

我尝试了reshape(-1)方法,但是没有用。我想将此数组重塑为:

[[a, b], [c, d], [e, f]]

我该如何转换?如果您有帮助,我会很高兴。

3 个答案:

答案 0 :(得分:3)

您可以使用numpy.squeeze功能。

a = np.array([[["a", "b"], ["c", "d"], ["e", "f"]]])
print(a.shape)
print(a)

输出:

(1, 3, 2)
[[['a' 'b']
  ['c' 'd']
  ['e' 'f']]]
b = a.squeeze(0)
print(b.shape)
print(b)

输出:

(3, 2)
[['a' 'b']
 ['c' 'd']
 ['e' 'f']]

答案 1 :(得分:0)

您可以使用.squeeze方法。

import numpy as np

a = np.array([[['a', 'b'], ['c', 'd'], ['e', 'f']]])
a.squeeze()

输出:

array([['a', 'b'],
       ['c', 'd'],
       ['e', 'f']], dtype='<U1')

答案 2 :(得分:0)

chars_list = [[["a", "b"], ["c", "d"], ["e", "f"]]]
chars_list_one = []
for element in chars_list:
    for element_one in element:
        chars_list_one.append(element_one)
print(chars_list_one)