当前位置: 首页 > wzjs >正文

做网站的外部链接关系分析的工具郑州最新通告

做网站的外部链接关系分析的工具,郑州最新通告,视频制作方法,专业网站建设微信商城开发目录 一、NumPy 数组基础 (一)创建数组 (二)数组索引 (三)数组切片 二、数组操作 (一)形状操作 (二)数组合并与分割 三、基本数学运算 (…

目录

一、NumPy 数组基础

(一)创建数组

(二)数组索引

(三)数组切片

二、数组操作

(一)形状操作

(二)数组合并与分割

三、基本数学运算

(一)加减乘除

(二)矩阵运算

四、小结


NumPy 是 Python 中用于科学计算的核心库,提供了强大的多维数组对象和丰富的工具函数。以下是 NumPy 数组的基础知识和操作详解。

一、NumPy 数组基础

(一)创建数组

numpy.array()是最常用的创建数组方法,接受列表作为输入。同时,也可创建特殊数组,常用于初始化全零、全一、空数组、单位矩阵等数组。

import numpy as np# 使用列表创建一维数组list_1d = [1, 2, 3, 4, 5]arr_1d = np.array(list_1d)print(arr_1d) # 输出:[1 2 3 4 5]# 创建二维数组list_2d = [[1, 2, 3], [4, 5, 6]]arr_2d = np.array(list_2d)print(arr_2d) # 输出:[[1 2 3][4 5 6]]# 创建全零数组zeros = np.zeros(5)print(zeros) # 输出:[0. 0. 0. 0. 0.]# 创建全一阵列ones = np.ones((2, 3))print(ones) # 输出:[[1. 1. 1.][1. 1. 1.]]# 创建空数组,其内容是随机的,因为未初始化empty = np.empty(3)print(empty) # 输出:[随机值 随机值 随机值](具体值因系统而异)# 创建单位矩阵identity = np.eye(3)print(identity) # 输出:[[1. 0. 0.][0. 1. 0.][0. 0. 1.]]

(二)数组索引

  1. 一维数组索引:与 Python 列表类似,使用方括号和索引值。
  1. 二维数组索引:使用两个索引,分别代表行和列。
import numpy as np# 创建一维数组arr = np.array([10, 20, 30, 40, 50])# 索引 1 维数组print(arr[0]) # 输出:10print(arr[-1]) # 输出:50,索引最后一个元素# 创建 2 维数组arr_2d = np.array([[1, 2, 3], [4, 5, 6]])# 索引 2 维数组print(arr_2d[0, 1]) # 输出:2print(arr_2d[1, -1]) # 输出:6

(三)数组切片

  1. 一维数组切片:使用起始索引、结束索引和步长。
  1. 二维数组切片:可以分别对行和列进行切片。
import numpy as np# 创建一维数组arr = np.array([0, 1, 2, 3, 4, 5])# 切片 1 维数组print(arr[1:4]) # 输出:[1 2 3]print(arr[:3]) # 输出:[0 1 2]print(arr[2:]) # 输出:[2 3 4 5]print(arr[::2]) # 输出:[0 2 4]print(arr[1:5:2]) # 输出:[1 3]print(arr[::-1]) # 输出:[5 4 3 2 1],反转数组# 创建 2 维数组arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])# 切片 2 维数组print(arr_2d[:2, :2]) # 输出:[[1 2][4 5]]print(arr_2d[1:, ::2]) # 输出:[[4 6][7 9]]

二、数组操作

(一)形状操作

  1. 改变数组形状:reshape()方法可以改变数组的形状,但不改变其数据。
  1. 扁平化数组:flatten()和ravel()都可以将多维数组扁平化为一维数组,但它们在处理方式上有所不同(flatten()返回拷贝,ravel()返回视图,可能更高效)。
import numpy as np# 创建数组arr = np.array([[1, 2, 3], [4, 5, 6]])# 改变数组形状reshaped_arr = arr.reshape(3, 2)print(reshaped_arr) # 输出:[[1 2][3 4][5 6]]# 扁平化数组flattened_arr = arr.flatten()print(flattened_arr) # 输出:[1 2 3 4 5 6]# 使用 ravel 扁平化raveled_arr = arr.ravel()print(raveled_arr) # 输出:[1 2 3 4 5 6]

(二)数组合并与分割

  1. 水平合并:hstack()将数组水平拼接。
  1. 垂直合并:vstack()将数组垂直堆叠。
  1. 水平分割:hsplit()将数组水平分割。
  1. 垂直分割:vsplit()将数组垂直分割。
import numpy as np# 创建数组a = np.array([1, 2, 3])b = np.array([4, 5, 6])# 水平合并horizontal_stack = np.hstack((a, b))print(horizontal_stack) # 输出:[1 2 3 4 5 6]# 创建二维数组c = np.array([[1, 2], [3, 4]])d = np.array([[5, 6], [7, 8]])# 垂直合并vertical_stack = np.vstack((c, d))print(vertical_stack) # 输出:[[1 2][3 4][5 6][7 8]]# 创建原数组arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])# 水平分割(分成 2 份)horizontal_split = np.hsplit(arr, 2)print(horizontal_split) # 输出:[array([[1, 2],[5, 6]]), array([[3, 4],[7, 8]])]# 垂直分割(分成 2 份)vertical_split = np.vsplit(arr, 2)print(vertical_split) # 输出:[array([[1, 2, 3, 4]]), array([[5, 6, 7, 8]])]

三、基本数学运算

(一)加减乘除

  1. 加法:对应元素相加。
  1. 减法:对应元素相减。
  1. 乘法:对应元素相乘。
  1. 除法:对应元素相除。
import numpy as np# 创建数组a = np.array([1, 2, 3])b = np.array([4, 5, 6])# 加法add_result = a + bprint(add_result) # 输出:[5 7 9]# 减法subtract_result = a - bprint(subtract_result) # 输出:[-3 -3 -3]# 乘法multiply_result = a * bprint(multiply_result) # 输出:[4 10 18]# 除法divide_result = a / bprint(divide_result) # 输出:[0.25 0.4 0.5 ]

(二)矩阵运算

  1. 矩阵相乘:dot()方法用于矩阵乘法(需满足矩阵乘法规则,即前一矩阵的列数等于后一矩阵的行数)。
  1. 矩阵转置:T属性可以获得矩阵的转置。
  1. 矩阵求逆:linalg.inv()可以计算可逆矩阵的逆矩阵(矩阵需为方阵且行列式不为零)。
import numpy as np# 创建矩阵matrix1 = np.array([[1, 2], [3, 4]])matrix2 = np.array([[5, 6], [7, 8]])# 矩阵相乘matrix_multiply = np.dot(matrix1, matrix2)print(matrix_multiply) # 输出:[[19 22][43 50]]# 矩阵转置transpose_matrix = matrix1.Tprint(transpose_matrix) # 输出:[[1 3][2 4]]# 矩阵求逆(matrix1 的行列式为 -2,可逆)inverse_matrix = np.linalg.inv(matrix1)print(inverse_matrix) # 输出:[[-2. 1. ][ 1.5 -0.5]]

四、小结

通过以上内容,我们学习了 NumPy 数组的基本操作,包括:​

  1. 如何创建不同维度的数组​和对数组进行索引和切片​
  2. 如何改变数组的形状和进行合并分割​
  3. 如何进行基本的数学运算​

NumPy 的核心在于其高效的数组操作能力,建议初学者多实践以上代码示例,并尝试自己创建数组进行各种操作,逐步熟悉 NumPy 的语法和功能。如果需要深入学习某个部分或补充其他内容,欢迎随时告知。

http://www.dtcms.com/wzjs/25403.html

相关文章:

  • 泰安手机网站搭建网站基本步骤
  • 做美食网站赚钱吗镇江网络
  • 网络建站步骤google play服务
  • 无锡专业网站建设公司百度sem竞价推广电子书
  • 网站建设预期目标恶意点击推广神器
  • 手机端网站做app推广之家
  • 腾讯域名购买周口网站seo
  • 做网站公司汉狮网络seo值怎么提高
  • 手机网站建设方案doc网站推广是做什么的
  • 企业信息官网电脑优化大师有用吗
  • 网站建设 考试题目seo店铺描述例子
  • 京东网站建设分析西安seo优化工作室
  • 网站关于我们页面设计小说榜单首页百度搜索风云榜
  • 网站程序风格查找关键词的工具叫什么
  • 网站设计抄袭seo是什么工作内容
  • 如何做电子书网站seo网上培训
  • 深圳建设集团网站官网百度关键词排名突然没了
  • 怎么做一淘宝客网站吗怎么写软文推广
  • 网站内链案例国外网站推广平台有哪些
  • 集团网站建设方案seo服务价格表
  • 一个叫mit做app的网站360广告推广平台
  • 设计师图片素材网站有哪些独立站网站
  • python语言是什么嘉峪关seo
  • web网站是什么意思提高网站流量的软文案例
  • 建设商城网站报价优化大师怎么卸载
  • 网络直销湛江seo推广公司
  • 40个靠谱免费网站seo网站排名优化价格
  • 浙江建设厅 继续教育 网站首页宁波企业网站seo
  • 中山建设网站官网百度关键词优化软件网站
  • 优秀画册设计网站病毒式营销