如何在python中重塑数组? [复制]
Posted
技术标签:
【中文标题】如何在python中重塑数组? [复制]【英文标题】:How to reshape an array in python? [duplicate] 【发布时间】:2020-07-15 06:25:09 【问题描述】:我们如何在python中重塑一个数组,例如
original_array = [1,2,3,4]
而我重塑后想要的是这个,
[[1,2,3,4]]
我使用这段代码重新塑造了数组,
original = np.asarray(original)
original = original.reshape(original.shape[0], 1)
但我得到的是这样的,
[[1]
[2]
[3]
[4]]
提前致谢。
【问题讨论】:
reshaped_array = [patient_data]
试试这个。
对我来说似乎是有效的,或者:patient_data = [original_array]。如果这对您没有帮助,请编辑您的问题。我也不清楚这个问题是否解决了。
original_array
是列表还是 numpy
数组?看起来像一个列表,但有一个 numpy
标签
原来的形状是(4,)。你想要(1,4),你得到(4,1)。看出区别了吗?
这能回答你的问题吗? How can I add new dimensions to a Numpy array?
【参考方案1】:
您只需要将.reshape()
的参数以不同的顺序排列:
patient_data = patient_data.reshape(1, patient_data.shape[0])
或者,可能更好:
patient_data = patient_data.reshape(1, -1)
还有其他几种方法可以做到这一点,例如:
patient_data = patient_data[None, :]
patient_data = patient_data[None, ...]
patient_data = patient_data[np.newaxis, :]
patient_data = patient_data[np.newaxis, ...]
patient_data = np.expand_dims(patient_data, 0)
NumPy 文档中关于Indexing 的章节可能对你来说是一本不错的读物。
【讨论】:
对不起,我编辑了我的问题,上述内容是否适用? 哇这工作!!!非常感谢!!【参考方案2】:如果original_array
是numpy
数组而不是列表,则可以使用numpy
中的expand_dims
import numpy as np
original_array = np.array([1,2,3,4])
np.expand_dims(original_array,axis=0)
# array([[1, 2, 3, 4]])
【讨论】:
这行得通!非常感谢!!!!1【参考方案3】:你可以从numpy
使用expand_dims
然后:
import numpy
original_array = numpy.array([1,2,3,4])
numpy.expand_dims(original_array, axis=0)
# array([[1, 2, 3, 4]])
【讨论】:
以上是关于如何在python中重塑数组? [复制]的主要内容,如果未能解决你的问题,请参考以下文章