一、介绍numpy
numpy是一个Python第三方库,提供了数组和矩阵运算的高效操作方法以及各种数学函数的实现,同时numpy也是进行数据分析及科学计算的基础包之一。
引入numpy库,并设置别名np,可以使用以下代码:
<python>
import numpy as np
二、创建ndarray
numpy提供了几种创建ndarray的方法:
1.使用array()函数创建
这是创建ndarray最常用的方式,可以将列表或元组变为ndarray:
<python>
>>> list1 = [1, 2, 3, 4, 5]
>>> array1 = np.array(list1)
>>> array1
array([1, 2, 3, 4, 5])
>>> tuple1 = (1, 2, 3, 4, 5)
>>> array2 = np.array(tuple1)
>>> array2
array([1, 2, 3, 4, 5])
2.使用arange()函数创建
arange()函数可以创建指定区间内的等差数组,与Python内置的range()函数类似,但是arange()返回的是ndarray类型:
<python>
>>> array3 = np.arange(1, 6)
>>> array3
array([1, 2, 3, 4, 5])
3.使用zeros()和ones()函数创建
这两个函数分别可以创建指定大小的全0或全1数组:
<python>
>>> array4 = np.zeros(5)
>>> array4
array([0., 0., 0., 0., 0.])
>>> array5 = np.ones(5)
>>> array5
array([1., 1., 1., 1., 1.])
三、ndarray的基本属性
创建ndarray后,可以使用以下属性进行数据查看和处理:
1.shape
可以查看ndarray的尺寸,即每个轴上的元素个数:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.shape
(3, 2)
2.ndim
可以查看ndarray的维数:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.ndim
2
3.dtype
可以查看ndarray中元素的数据类型:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.dtype
dtype('int64')
四、ndarray的切片与索引
在使用ndarray时,常用的就是对其进行切片或索引,以下为常用的操作方法:
1.切片
切片表示对ndarray的选取,例如:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1[1:3, :]
array([[3, 4], [5, 6]])
上述代码表示选取ndarray从第2行(索引1)到第3行(索引2)的元素,同时在列方向上选取全列的元素。
2.索引
索引表示对ndarray的定位,例如:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1[2, 1]
6
上述代码表示选取ndarray的第3行第2列的元素。
五、ndarray的数学运算
numpy支持大量数学运算,以下为常用的运算法则:
1.基本运算
可以对ndarray进行加、减、乘、除、幂等基本数学运算:
<python>
>>> array1 = np.array([1, 2, 3, 4])
>>> array2 = np.array([5, 6, 7, 8])
>>> array1 + array2
array([ 6, 8, 10, 12])
>>> array1 - array2
array([-4, -4, -4, -4])
>>> array1 * array2
array([ 5, 12, 21, 32])
>>> array2 / array1
array([5. , 3. , 2.33333333, 2. ])
>>> array2 ** 2
array([25, 36, 49, 64])
2.各种数学函数
numpy提供了很多各种数学函数,例如开方、log、sin、cos等,以下为示例代码:
<python>
>>> array1 = np.array([1, 2, 3, 4])
# 开方运算
>>> np.sqrt(array1)
array([1. , 1.41421356, 1.73205081, 2. ])
# 对数运算
>>> np.log(array1)
array([0. , 0.69314718, 1.09861229, 1.38629436])
# sin运算
>>> np.sin(array1)
array([ 0.84147098, 0.90929743, 0.14112001, -0.7568025 ])
# cos运算
>>> np.cos(array1)
array([ 0.54030231, -0.41614684, -0.9899925 , -0.65364362])
六、ndarray的聚合运算
在数据处理过程中,经常需要将多维数组统计聚合,numpy提供了多种聚合方法。
1.sum函数
计算ndarray的总和:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.sum()
21
2.mean函数
计算ndarray的平均值:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.mean()
3.5
3.min和max函数
计算ndarray的最小值和最大值:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.min()
1
>>> array1.max()
6
4.std函数
计算ndarray的标准差:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.std()
1.707825127659933
七、结论
以上就是numpy中文手册的基本介绍与操作方法,通过掌握这些内容,我们可以使用Python进行更加高效和精确的数据分析和科学计算。