python中Numpy库学习
2021/7/23 1:06:53
本文主要是介绍python中Numpy库学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
""" 2021/7/8 Numpy学习 """ import numpy as np """ #随机生成数组并进行计算 import numpy as np data = np.random.randn(2,3) print(data) print(data * 10) print(data + data) print(data.shape)#表示维度 print(data.dtype)#表示数据类型 """ """ #创建数组 data1 = [6,7.5,8,0,1] arr1 = np.array(data1) print(arr1) data2 = [[1,2,3,4],[5,6,7,8]]#由一组等长列表组成的列表 arr2 = np.array(data2) print(arr2) print(arr2.ndim) print(arr2.shape) print(arr2.dtype) print(np.zeros(10))#生成全0数组 print(np.zeros((2,3))) print(np.ones(2))#生成全1数组 print(np.ones((2,3,2)))#注意是两个括号,否则报错 print(np.empty((2,3,2)))#创建数组,只分配内存空间但不填充任何值 print(np.arange(12))#生成12个数字组成数组 print(np.eye(3))#创建一个n维单位矩阵(对角线为1,其余皆为0 """ """ #ndarray的数据类型及类型转换 arr3 = np.array([1,2,3],dtype = np.float64)#在生成数组时指定数组类型 arr4 = np.array([1,2,3],dtype = np.int32) print(arr3.dtype) print(arr4.dtype) float_arr4 = arr4.astype(np.float64)#用astype函数强制转换数组的数据类型 print(float_arr4.dtype) arr5 = np.array([1.4,2.1,3.7],dtype = np.float64) int_arr5 = arr5.astype(np.int32)#浮点数被强制转换成32位整数 print(int_arr5)#小数部分被截取删除 arr6 = np.array(['1.25','-9.6','0.32'])#数据类型输入为字符串型 float_arr6 = arr6.astype(np.float64)#把元组数据类型中的字符型转换成浮点型 print(arr6) print(float_arr6) """ """ #Numpy数组运算 arr = np.array([[1,2,3],[4,5,6]]) print(arr) print(arr * arr) print(arr - arr) print(1 / arr) print(arr ** 0.5) print(arr > arr ** 0.5)#大小相同的数组之间的比较会生成布尔值数组返回结果 """ """ 基本的索引和引片 #数组索引及修改 arr = np.arange(10)#生成0-9的一维数组 print(arr) print(arr[5])#输出数组中第五个位置的元素 print(arr[5:8])#输出数组中第6-8个位置的元素 arr[5:8] = 12#把对应位置的元素值修改为同一值 print(arr) #数组的切片 arr_slice = arr[5:8] print(arr_slice) arr_slice[1] = 12345#修改切片中第2个位置 print(arr) arr_slice[:] = 64#把切片中指定位置的所有元素修改为同一值 print(arr) arr2d = np.array([[1,2,3],[4,5,6],[7,8,9]])#生成2*3维数组 print(arr2d[2])#返回第3行的元素组 print(arr2d[0][2]) print(arr2d[0,2])#返回结果与商行代码一致 data = np.random.randn(7,4) print(data) data[data < 0] = 0#把数组中小于0的元素修改为0 print(data) """ """ #数组转置和轴对称 arr0 = np.arange(15).reshape((3,5))#生成3*5的数组 print(arr0) arr0_t = arr0.T#矩阵转置 print(arr0_t) print(np.dot(arr0,arr0_t))#计算矩阵的内积 #print(arr0 *arr0_t)报错,计算内积只能采用np.dot(a,a.T)函数得到结果 """ """ 通用函数:快速的元素及数组函数 arr = np.arange(10)#生成一元数组 s = np.sqrt(arr)#求数组的根号 e = np.exp(arr)#求指数值 print(s) print(e) x = np.random.randn(8) y = np.random.randn(8) m = np.maximum(x,y)#求两数组中的最大值 a = np.add(x,y)#两矩阵对应元素相加 print(m) print(a) """ """ #利用数组进行数据处理 points = np.arange(-5,5,0.01)#从-5到5以步长0.01生成一维数组 xs,ys = np.meshgrid(points,points)#用np.meshgrid()函数组合两个一维数组为二维矩阵 #print(ys) z = np.sqrt(xs ** 2 + ys ** 2)#对矩阵进行运算 #print(z) """ """ #数学和统计方法 arr = np.random.randn(5,4) print(arr) x1 = arr.mean() x2 = np.mean(arr)#两种方法均能求矩阵的均值 x11 = arr.mean(1)#求矩阵行的平均值 x12 = arr.mean(2)#求矩阵列的平均值 print(x1) print(x2) x3 = arr.sum() x4 = np.sum(arr)#两种方法均能求矩阵和 x31 = arr.sum(1)#计算每行的和 print(x3) print(x4) arr1 = np.array([[0,1,2],[3,4,5],[6,7,8]]) print(arr1) a1s = arr1.cumsum(axis = 0)#按列聚合求和 a1p = arr1.cumprod(axis = 1)#按列聚合求积 print(a1s) print(a1p) """ """ #用于布尔型数组的方法 arr = np.random.randn(100) print(arr) arrs = (arr >0).sum()#求矩阵中所有大于0的元素之和 print(arrs) bools = np.array([False,False,True,False]) print(bools.any())#any表示只有一个为True则为真 print(bools.all())#all表示所有元素为真才为真 #非0即为1 """ """" #排序 arr = np.random.randn(6) print(arr) #arr1 = arr.sort()报错 #arr2 = arr.sort(1)#多维矩阵中可按行排列 arr2 = np.sort(arr) #print(arr1) print(arr2) """ """ 线性代数及随机数函数见参考教材 """
这篇关于python中Numpy库学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享
- 2024-11-06Python 基础编程入门教程
- 2024-11-05Python编程基础:变量与类型