目录
一、Numpy常见用法
1. 创建数组
1)使用np.array创建
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
arr的输出为array([1, 2, 3, 4, 5])
。
我们输入以下代码创建二维数组:
my_matrix = [[1,2,3],[4,5,6],[7,8,9]]
mtrx= np.array(my_matrix)
mtrx的输出如下:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
2)创建特殊数组
#生成特殊数组
a1 = np.zeros((3,5)) #生成全0数组
print(a1)
b1 = np.ones((2,3))
print(b1)
3)使用arange()生成数组
# 利用arange()生成数组
c1 = np.arange(10,20,2)
print(c1)
2. 索引与切片
1)索引一维数组与二位数组如下:
print('arr[0]=',arr[0],'mtrx[1,1]=',mtrx[1,1])
输出 arr[0]= 1 mtrx[1,1]= 5
。
对数组切片:
arr[:3]
输出结果为 array([1, 2, 3])
。
2)倒数切片:
arr[-3:-1]
输出 array([3, 4])
。
加入步长(step),步长决定了切片间隔:
arr[1:4:2]
输出 array([2, 4])
。
3)二维数组切片:
mtrx[0:2, 0:2]
输出,代码意义为取第1、2行,第1、2列:
array([[1, 2],
[4, 5]])
3. dtype
NumPy的dtpe有如下几种数据类型:
-
i - integer
-
b - boolean
-
u - unsigned integer
-
f - float
-
c - complex float
-
m - timedelta
-
M - datetime
-
O - object
-
S - string
-
U - unicode string
-
V - fixed chunk of memory for other type ( void )
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array(['apple', 'banana', 'cherry'])
print('arr1.dtype=',arr1.dtype,'arr2.dtype=',arr2.dtype)
输出为 arr1.dtype= int32 arr2.dtype= <U6
。arr1数据类型为int32,arr2的<U6表示不超过6位Unicode字符串。
我们可以指定dtype类型。
arr = np.array(['1', '2', '3'], dtype='f')
输出结果为 array([1., 2., 3.], dtype=float32)
,其中1.表示1.0,可以看到dtype被设置为float32数据类型。
4. 一般方法
4.1 arange
np.arange(0,101,2)
输出结果如下,该命令表示,在[0,101)区间内均匀地生成数据,间隔步长为2。
array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24,
26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50,
52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76,
78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100])
4.2 zeros
np.zeros((2,5))
输出结果如下