Numpy使用Flatten方法
Numpy数组介绍
Numpy是一个开源的Python库,用于科学计算。它提供了一个强大的多维数组对象,可以进行高效的数值计算。
在Numpy中,数组是一个由相同类型的元素组成的网格。每个元素在内存中都有相同的大小。数组的维度是指数组的等级,也称为轴。
创建Numpy数组
可以使用Numpy库中的array
函数创建Numpy数组。下面是一些常见的创建数组的方法:
第1步:从Python列表创建数组
import numpy as np
list1 = [1, 2, 3, 4, 5]
arr1 = np.array(list1)
print(arr1)
输出:
第2步:使用numpy提供的函数创建特定类型的数组
import numpy as np
# 创建全零数组
arr2 = np.zeros(5)
print(arr2)
# 创建全一数组
arr3 = np.ones(5)
print(arr3)
# 创建指定范围的数组
arr4 = np.arange(0, 10, 2)
print(arr4)
输出:
展平(Flatten)Numpy数组
在Numpy中,数组展平(flatten)是指将多维数组转换为一维数组的操作。可以使用flatten
或ravel
函数实现数组展平。
第1步:使用flatten
函数展平数组
import numpy as np
arr5 = np.array([[1, 2, 3], [4, 5, 6]])
flattened_arr1 = arr5.flatten()
print(flattened_arr1)
输出:
第2步:使用ravel
函数展平数组
import numpy as np
arr6 = np.array([[1, 1, 1], [2, 2, 2]])
flattened_arr2 = arr6.ravel()
print(flattened_arr2)
输出:
flatten
和ravel
的区别
flatten
和ravel
函数都可以用于展平多维数组,但是它们在处理原始数组的方式略有不同。
flatten
函数将原始数组的副本展平,并返回一个新的展平的一维数组。
ravel
函数返回一个对原始数组的视图(View),而不是副本。对返回的视图所做的任何更改都会影响原始数组。
import numpy as np
arr7 = np.array([[1, 2, 3], [4, 5, 6]])
# 使用flatten函数
flattened_arr3 = arr7.flatten()
flattened_arr3[0] = 10
print(arr7) # 原始数组不受影响
# 使用ravel函数
flattened_arr4 = arr7.ravel()
flattened_arr4[0] = 10
print(arr7) # 原始数组受影响
输出:
总结
本文介绍了Numpy数组的基本概念和创建方法,并详细解释了如何展平(flatten)Numpy数组。同时,还比较了flatten
和ravel
函数在对原始数组的处理方式上的区别。希望通过本文的介绍,读者能够更好地理解和运用Numpy数组的相关操作。