分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
0. reshape的参数
reshape的参数严格地说,应该是tuple类型(tuple of ints),似乎不是tuple也成(ints)。
>>> x = np.random.rand(2, 3)>>> x.reshape((3, 2)) # 以tuple of intsarray([[ 0.19399632, 0.33569667], [ 0.36343308, 0.7068406 ], [ 0.89809989, 0.7316493 ]])>>> x.reshape(3, 2)array([[ 0.19399632, 0.33569667], [ 0.36343308, 0.7068406 ], [ 0.89809989, 0.7316493 ]])
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
1. .reshape 实现维度的提升
(3, ) ≠ (3, 1):前者表示一维数组(无行和列的概念),后者则表示一个特殊的二维数组,也即是一个列向量;
>> x = np.ones(3)>> xarray([ 1., 1., 1.])>> x.reshape(3, 1)array([[ 1.], [ 1.], [ 1.]])>> x.reshape(1, 3)array([[ 1., 1., 1.]])
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2. .reshape 与 .resize
- reshape:有返回值,所谓有返回值,即不对原始多维数组进行修改;
- resize:无返回值,所谓有返回值,即会对原始多维数组进行修改;
>> X = np.random.randn(2, 3)>> Xarray([[ 1.23077478, -0.70550605, -0.37017735], [-0.61543319, 1.1188644 , -1.05797142]])>> X.reshape((3, 2))array([[ 1.23077478, -0.70550605], [-0.37017735, -0.61543319], [ 1.1188644 , -1.05797142]])>> Xarray([[ 1.23077478, -0.70550605, -0.37017735], [-0.61543319, 1.1188644 , -1.05797142]])>> X.resize((3, 2))>> Xarray([[ 1.23077478, -0.70550605], [-0.37017735, -0.61543319], [ 1.1188644 , -1.05797142]])
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
给我老师的人工智能教程打call!http://blog.youkuaiyun.com/jiangjunshow
本文深入探讨了NumPy中reshape和resize函数的使用方法及其区别。详细解释了如何通过reshape改变数组形状而不修改原始数据,以及resize如何直接修改原始数组的形状。同时,文章还介绍了如何使用reshape来提升数组的维度。
925

被折叠的 条评论
为什么被折叠?



