共计 1123 个字符,预计需要花费 3 分钟才能阅读完成。
导读 | 本文主要介绍了 numpy.reshape(-1,1) 的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 |
数组新的 shape 属性应该要与原来的配套,如果等于 - 1 的话,那么 Numpy 会根据剩下的维度计算出数组的另外一个 shape 属性值。
举个例子:
x = np.array([[2, 0], [1, 1], [2, 3]])
指定新数组行为 3,列为,2,则:
y = x.reshape(3,2)
y
Out[43]:
array([[2, 0],
[1, 1],
[2, 3]])
指定新数组列为 1,则:
y = x.reshape(-1,1)
y
Out[34]:
array([[2],
[0],
[1],
[1],
[2],
[3]])
指定新数组列为 2,则:
y = x.reshape(-1,2)
y
Out[37]:
array([[2, 0],
[1, 1],
[2, 3]])
指定新数组行为 1,则:
y = x.reshape(1,-1)
y
Out[39]: array([[2, 0, 1, 1, 2, 3]])
指定新数组行为 2,则:
y = x.reshape(2,-1)
y
Out[41]:
array([[2, 0, 1],
[1, 2, 3]])
numpy 中 reshape(-1,1) 与 reshape(1,-1) 的作用
如果你的数据只有一个特征,可以用 reshape(-1,1) 改变你的数据形状;或者如果你的数据只包含一个样本,可以使用 reshape(1,-1) 来改变。
e = np.array([1]) #只包含一个数据
f = e.reshape(1,-1) #改变形状,输出 f 之后发现它已经变成了二维数据
import numpy as np
a = np.array([[1,2,3],[4,5,6]]) #是两行三列的数据,二维
b = np.array([1,2]) #是一维数据
c = b.reshape(-1,1) #c 已经变成了二维数据,变成了两行一列
d = b.reshape(1,-1) #d 变成了一行两列的数据,print('b.shape is {0}'.format(b.shape))
print(b)
print('c.shape is {0}'.format(c.shape))
print(c)
print('d.shape is {0},d array is {1}'.format(d.shape,d))
可以发现 reshape(-1,1) 是将一维数据在行上变化,而 reshape(1,-1) 是将一维数据在列上变化
到此这篇关于 numpy.reshape(-1,1) 的具体使用的文章就介绍到这了
正文完
星哥玩云-微信公众号