下面是对Numpy中reshape()和resize()方法的详细讲解及说明。
reshape()方法
概述
reshape()方法是将一个数组转化为指定的形状。该方法返回的是一个新的数组,而原数组并没有发生改变。
语法
reshape()方法的语法如下:numpy.reshape(arr, newshape, order='C')
参数说明:
- arr:数组。
- newshape: 新数组的形状,为整数或整数数组。
- order:可选参数,默认值是'C',表示按行读取,另一种方式是'F',表示按列读取。
示例说明
示例1:
import numpy as np
arr1 = np.array([1,2,3,4,5,6])
print("原数组:\n", arr1)
newarr1 = arr1.reshape((3,2))
print("新数组:\n", newarr1)
输出结果:
原数组:
[1 2 3 4 5 6]
新数组:
[[1 2]
[3 4]
[5 6]]
示例2:
import numpy as np
arr2 = np.arange(8)
print("原数组:\n", arr2)
newarr2 = np.reshape(arr2, (2, 4))
print("新数组:\n", newarr2)
newarr2.shape = (4, 2)
print("新数组(使用shape属性):\n", newarr2)
输出结果:
原数组:
[0 1 2 3 4 5 6 7]
新数组:
[[0 1 2 3]
[4 5 6 7]]
新数组(使用shape属性):
[[0 1]
[2 3]
[4 5]
[6 7]]
resize()方法
概述
resize()方法也是将一个数组转化为指定的形状,与reshape()相同。不同的是,resize()方法会修改原始数组的形状和大小。
语法
resize()方法的语法如下:numpy.resize(arr, new_shape)
参数说明:
- arr:数组。
- new_shape: 新数组的形状。
示例说明
示例1:
import numpy as np
arr3 = np.array([1,2,3,4,5,6])
print("原数组:\n", arr3)
arr3.resize((3,2))
print("新数组:\n", arr3)
输出结果:
原数组:
[1 2 3 4 5 6]
新数组:
[[1 2]
[3 4]
[5 6]]
示例2:
import numpy as np
arr4 = np.arange(8)
print("原数组:\n", arr4)
arr4.resize((2, 4))
print("新数组:\n", arr4)
输出结果:
原数组:
[0 1 2 3 4 5 6 7]
新数组:
[[0 1 2 3]
[4 5 6 7]]
可以看到,在第2个示例中,使用resize()方法改变了原数组的形状和大小,而使用reshape()方法则没有。这是resize()方法和reshape()方法的主要区别。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Numpy中reshape()和resize()方法的区别 - Python技术站