1.概述
1.np.array() # 将列表转换为数组
import numpy as np array = [1, 2, 3, 4, 5] array = np.array(array)
2..shape # 打印矩阵的维度, 也可以使用np.shape
import numpy as np array = [1, 2, 3, 4, 5] array = np.array(array) print(array.shape)
2.array 结构
3.dtype 打印数组的数据类型
import numpy as np tang_array = [1, 2, 3, 4] tang_array = np.array(tang_array) print(tang_array.dtype)
4. .itemsize # 判断数组中每一个数字所占的字节数
print(tang_array.itemsize)
5. .size # 打印出数组中的元素个数, 不关心矩阵的维度
print(tang_array.size)
6. .ndim # 打印数组中的维度信息
print(tang_array.ndim)
7. .fill(0) # 表示对当前数据进行填充,0表示填充的值
# .fill 对当前数据进行填充 tang_array = np.array([1, 2]) tang_array.fill(0) print(tang_array)
8. numpy索引与切片
tang_array = np.array([1, 2, 3, 4]) print(tang_array[0]) print(tang_array[-2:])
9 .copy # 进行浅拷贝
tang_array2 = tang_array.copy()
10 .dtype设置数组类型 将列表转换为bool值根据bool值进行取值操作
tang_array = np.arange(0, 100, 10) # 将列表转换为Bool值 bool_array = np.array([1, 0, 0, 1, 1, 1, 1, 0, 0, 0], dtype=bool) # 根据bool值进行取值 print(tang_array[bool_array])
11.根据大于或者小于获得bool值根据bool值进行取值操作
tang_array = np.random.rand(10) print(tang_array) bool_array = tang_array > 0.5 print(bool_array)
12. np.where 对bool值进行操作,获得True的索引值
tang_array = np.random.rand(10) bool_array = tang_array > 0.5 index = np.where(bool_array) print(index) print(tang_array[index])
13 .ndtype # 输出字节数
print(tang_array.nbytes)
14. .astype # 进行数据类型的转换,但是实际数据不发生改变
tang_array2 = tang_array.astype(np.float32) print(tang_array2.dtype)
15. np.object格式,保存了数据的原来格式
array = np.array([1, 10, 3.5, 'str'], dtype=np.object)
3.数值计算
16. .sum(axis=0) # 进行数组的加和操作
import numpy as np tang_array = np.array([[1, 2, 3], [4, 5, 6]]) # 对axis=0,进行行与行进行加和 print(tang_array.sum(axis=0)) # 进行所有数据的加和
print(tang_array.min(axis=0))
print(tang_array.sum()) print(tang_array.sum(axis=-1))
17. .prod(axis=0) # 进行数组之间的乘积操作,axis=0表示行与行之间进行乘积
print(tang_array.prod()) # 所有元素进行相乘操作
print(tang_array.prod(axis=1))
18. .min(axis=0) 找出数组中数据最小的值,axis=0表示找出每一列的最小值,从上到下的操作
print(tang_array.min(axis=0))
19 .max(axis=0) # 找出数组中数据最大值的操作
print(tang_array.max(axis=0))
20 .argmax(axis=1) # 找出数组中每一行的最大值的位置
print(tang_array.argmax(axis=1))
21 .mean(axis=1) # 找出数组中每一行均值的大小
print(tang_array.mean(axis=1))
22. std(axis=1) # 求出数组中每一行的标准差
print(tang_array.std(axis=1))
23. .var(axis=1) # 求出数组中每一行的方差
print(tang_array.var(axis=1))
24. .clip(2, 4)进行数据的范围限制, 小于2的用2表示,大于4的用4表示
print(tang_array.clip(2, 4))
25. .round(decimals=1) # 进行四舍五入,decimals表示保留小数点的后几位数
tang_array = np.array([1.12, 2.12, 3.12, 4.6]) print(tang_array.round(decimals=1))
4.排序
26. np.sort(value, axis=0)# 对数据进行排序操作
import numpy as np tang_array = np.array([[1.5, 1.3, 7.5], [5.6, 7.8, 1.2]]) # 对每一列进行排序 print(np.sort(tang_array, axis=0))
27. .argsort(axis=0) # 打印排序后的索引位置
print(tang_array.argsort(axis=0))
28. np.linspace(0, 10, 11) # 进行范围的数据拆分
tang_array = np.linspace(0, 10, 11)
29. np.searchsorted(tang, value) # 将value插入tang_array 返回的是插入后的索引值
print(np.searchsorted(tang_array, value))
30. np.lexsort # 指定列队数组进行排序操作
tang_array = np.array([[1, 0, 6], [2, 7, 0], [3, 3, 1], [2, 4, 0]]) index = np.lexsort([tang_array[:, 2]])
print(tang_array[index])
5-数组形状
31. np.reshape(value, (2, 5)) # 进行矩阵的维度变化
tang_array = np.arange(10) print(tang_array.shape) # 通过.shape改变数据的维度 tang_array.shape = 2, 5 print(np.reshape(tang_array, (2, 5))) print(tang_array)
32. np.newaxis # 表示增加一个矩阵维度
# 新增加一个维度 np.newaxis tang_array = np.array([[1, 2], [3, 4]]) tang_array = tang_array[:, :, np.newaxis] print(tang_array.shape)
33 .squeeze(axis=3) # 表示指定一个维度进行去除
print(tang_array.squeeze(axis=3).shape)
34 .transpose() 表示进行转置操作
tang_array = np.arange(0, 10, 1) tang_array.shape = 2, 5 print(tang_array.transpose())