1.导入numpy包
import numpy as np
2.将用python语法定义的list变成numpy中的ndarray
tang_list = [1,2,3,4,5]
tang_array = np.array(tang_list)
tang_array
3.查看类型
type(tang_array)
4.查看成员类型
tang_array.dtype
5.查看所占字节数
tang_array.itemsize
ndarray相当于c语言中的一个指针,占四个字节
6.查看形状
tang_array.shape
np.shape(tang_array)
事实上ndarray是n行1列的向量阵,但是在计算机上表示的是1行n列的矩阵
7.查看成员数目
tang_array.size
np.size(tang_array)
8.查看ndarray维度
tang_array.ndim
9.给ndarray写满0
tang_array.fill(0)
tang_array
10.索引和切片
tang_list = [1,2,3,4,5]
tang_array = np.array(tang_list)
tang_array[0]
tang_array[1:3]
tang_array[-2:]
11.ndarray的矩阵格式(多维的形式)
tang_array = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
tang_array
tang_array.shape
tang_array.size
tang_array.ndim
tang_array[1,1]
12.按照索引修改数据
tang_array[1,1] = 10
tang_array
13.按索引取出一行
tang_array[1]
13.取出一列
tang_array[:,1]
14.取出一行的一部分
tang_array[0,0:2]
15.涉及硬链接和软连接的问题
tang_array
tang_array2 = tang_array
tang_array2
tang_array2[1,1] = 100
tang_array2
tang_array
在这里tang_array和tang_array2的关系是一个软连接的关系,tang_array和tang_array2指向同一个内存地址,所以修改tang_array2,tang_array也会改变
tang_array
tang_array2 = tang_array.copy()
tang_array2
tang_array2[1,1] = 10000
tang_array2
tang_array
在这里tang_array和tang_array2的关系是一个硬连接的关系,tang_array和tang_array2指向两个不同的内存地址,所以修改tang_array2,tang_array不会改变
16.创建一个等差数列的ndarray
tang_array = np.arange(0,100,10)
tang_array
17.创建一个成员为bool类型的的ndarray
mask = np.array([0,0,0,1,1,1,0,0,1,1],dtype=bool)
mask
18.一个成员为bool类型的的ndarray能为另一个ndarray作索引
tang_array[mask]
19.用随机种子创建一个ndarray
random_array = np.random.rand(10)
random_array
20.使用><关系创建一个成员为bool类型的的ndarray
mask = random_array > 0.5
mask
tang_array[mask]
tang_array = np.array([10,20,30,40,50])
tang_array > 30
21.查看ndarray索引
np.where(tang_array > 30)
22.根据索引查看成员
tang_array[np.where(tang_array > 30)]
23.修改ndarray数据类型
tang_array = np.array([1,2,3,4,5],dtype=np.float32)
tang_array
tang_array.dtype
24.查看成员一共占用的字节数
tang_array.nbytes
25.定义一个含有多中数据类型的ndarray
tang_array = np.array([1,10,3.5,'str'],dtype = np.object)
tang_array
tang_array * 2
26.给已经定义的ndarray重新指定数据类型
tang_array = np.array([1,2,3,4,5])
np.asarray(tang_array,dtype = np.float32)
tang_array
tang_array2 = np.asarray(tang_array,dtype = np.float32)
tang_array2
tang_array
tang_array.astype(np.float32)
tang_array
值得注意的是asarray和astype不会修改原来的ndarray的类型和值