前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数组计算模块NumPy

数组计算模块NumPy

作者头像
@小森
发布2024-03-15 11:37:00
750
发布2024-03-15 11:37:00
举报
文章被收录于专栏:xiaosenxiaosen

NumPy是Python数组计算、矩阵运算和科学计算的核心库。

  • 提供了高性能的数组对象
  • 提供了大量的函数和方法
  • NumPy使用机器学习中的操作变得简单
  • NumPy是通过C语言实现的

NumPy的安装  pip install numpy 

数组的分类

  • 一维数组 跟Python列表的形状一样,区别在于数组的切片是针对原始数组
  • 二维数组 以数组作为数组元素,二维数组包括行和列,类似于表格,又称为矩阵 
  • 三维数组(多维数组) 为数为三的数组元素,也称矩阵列表

轴的概念  :轴是NumPy模块里的axis,指定某个axis就是沿着axis做相关操作 

创建简单的数组

代码语言:javascript
复制
numpy.array(object,dtype=None,copy=True,ndmin=0)

不同方式创建数组

  • 创建指定维度和数据类型未初始化的数组  np.empty()
  • 创建指定维度以0填充的数组  np.zeros()
  • 创建指定维度以1填充的数组  np.ones()
  • 创建指定维度和类型的数组并以指定值填充  np.full()

从数值范围创建数组 

  • 通过数值范围创建数组 arange(start,stop,step,dtype=None)
  • 使用linspace函数创建等差数列linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None)
  • 使用logspace函数创建等比数列 logspace(start,stop,num=50,endpoint=True,base=10.0,dtype=None)

生成随机数组 

  • 生成(0,1)之间的随机数组        np.random.rand()
  • 随机生成满足正态分布的数组 np.random.randn()
  • 生成一定范围内的随机数组     np.random.randint()
  • 生成正态分布的随机数组         np.random.normal()

Numpy的数据类型比Python数据类型增加了更多种类的数值类型,为了区别于Python的数据类型,像bool、int、float等数据类型的名称末尾都加了 “_”

索引

  • 用于标记数组当中对应元素的唯一数字,从0开始
  • 索引的区间范围   [0~N-1]
  • 索引的使用语法   obj[index]

切片式索引 

  • 语法结构  [start:stop:step]
  • start:起始索引
  • stop:终止索引
  • step:步长

二维数组索引 语法格式   array[n,m]

二维数组的切片式索引

数组重塑

  • 数组重塑是更改数组的形状
  • 使用reshape方法,用于改变数组的形状     
  • 重塑后数组所包含的元素个数必须与原数组的元素个数相同,元素发生变化,程序就会报错    

数组转置

  • 数组的行列转换
  • 通过数组的T属性和transpose方法实现 

数组的增加

  • 水平方向增加数据 hstack()函数
  • 垂直方向增加数据 vstack()函数 

数组的删除

  • 使用delete()函数 

矩阵 矩阵是数学的概念,而数组是计算机程序设计领域的概念。在NumPy中,矩阵是数组的分支,二维数组也称为矩阵 。

创建矩阵    numpy.mat()函数

矩阵运算    可以对矩阵进行加、减、乘、除运算 

矩阵的乘法运算

代码语言:javascript
复制
import numpy as np

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# 使用numpy.dot()函数进行矩阵乘法
C = np.dot(A, B)
print(C)

# 使用@运算符进行矩阵乘法
D = A @ B
print(D)


#
[[19 22]
 [43 50]]
[[19 22]
 [43 50]]

数组的排序  

对数组元素进行排序

  • sort():直接改变原数组,参数axis指定按行排序还是按列排序
  • argsort():返加升序之后的数组值为从小到大的索引值
  • lexsort():用于对多个序列进行排序 

NumPy常用分析函数

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档