【问题标题】:How to reshape array from (n,1) to (n, )?如何将数组从(n,1)重塑为(n,)?
【发布时间】:2021-10-08 05:46:27
【问题描述】:

我有一个包含 n 个“行”的数组。我知道 reshape ((n,1)) 可以将数组转换为 (n,1) 但是有没有办法做相反的事情?我试过 array[0] 但这似乎不起作用。

我当前的数组结构如下,形状为 (n,1):

[[array([1.00556293, 0.9377474 , 0.87450538, 0.81552842, 0.76052888])]
[array([1.00705293, 0.9217973 , 0.84375929, 0.77232786, 0.70694371])]
[array([1.00591583, 0.93394283, 0.86711948, 0.80507733, 0.74747427])]
...
[array([1.        , 0.92437698, 0.85447281, 0.78985499, 0.73012378])]
[array([1.        , 0.91608767, 0.83921662, 0.76879599, 0.70428453])]
[array([1.        , 0.92008808, 0.84656208, 0.77891168, 0.71666735])]]

是否可以用形状(n,)将其重塑为以下形状?

[array([1.00556293, 0.9377474 , 0.87450538, 0.81552842, 0.76052888])
array([1.00705293, 0.9217973 , 0.84375929, 0.77232786, 0.70694371])
array([1.00591583, 0.93394283, 0.86711948, 0.80507733, 0.74747427])
...
array([1.        , 0.92437698, 0.85447281, 0.78985499, 0.73012378])
array([1.        , 0.91608767, 0.83921662, 0.76879599, 0.70428453])
array([1.        , 0.92008808, 0.84656208, 0.77891168, 0.71666735])]

提前致谢!

【问题讨论】:

  • 你没有一个形状为 (n ,1) 的数组,你有一个包含一个数组的列表列表。显然你想得到一个数组列表,而不是一个形状为 (n, ) 的数组。 array[0] 有什么问题?
  • " 我知道 reshape ((n,1)) 可以将数组转换为 (n,1) 但有没有相反的方法?当您尝试阅读 reshape 的文档时发生了什么?
  • 输入和输出在语法上无效,因为它们缺少逗号。这是故意的吗?顺便说一句,如果你问的是 NumPy,请添加 numpy 标签。

标签: python arrays numpy reshape shapes


【解决方案1】:

你可以简单地使用'array.flatten'

a = np.array([[1,2],[3,4]])
flat_a = a.flatten()

print(flat_a )

#prints >>> [1,2,3,4]

【讨论】:

    猜你喜欢
    • 2019-08-21
    • 1970-01-01
    • 2021-05-04
    • 2019-02-27
    • 2019-02-03
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多