NumPy系列 - 创建矩阵

前传

由于,某人在上智能相关课程的时候,总想着一大堆的事情,统计股市涨跌,行业关联度等。

所以,为了不挂科,还是总结一些东西会比较好。

好啦,现在要开始了。

我们先要引入numpy。

python 复制代码
import numpy as np

直接创建数组

就只是创建数组

1. np.array()

通过list创建数组,这里要用到np.array()

按照官方的语法,如下:

py 复制代码
np.array(object, dtype=None, *, copy=True, 
		order='K', subok=False, ndmin=0, like=None)

我觉得有一些可以解释一下:

  • object:列表类型的东西
  • dtype:想要的数据类型
  • copy:是否可以复制
  • ndmin:维度
python 复制代码
a = np.array([1, 2, 3])

# array([1, 2, 3])

当然,也可以这样

python 复制代码
ar = [1, 2, 4]
a = np.array(ar)

# array([1, 2, 4])

这也是可行的。

2. np.arange()

这个函数类似于Python原生的range(),所以,就存在两种形式:

  1. np.arange(n):直接生成从0~n-1的数组
  2. np.arange(begin, end):直接生成从begin~end-1的数组

此外,还有一种创建方式:np.arange(begin, end).reshape(n, m, ..., k),这可以reshape到你想要的形状。

譬如:

python 复制代码
a = np.arange(9).reshape(3,3)		# 创建一个`3*3`的矩阵
b = np.arange(8).reshape(2,2,2)		# 创建一个`2*2*2`的矩阵

如果要定义类型,就直接这样做:

python 复制代码
np.arange(n, dtype='float64')

(更多数据类型见"定义数据类型")

3. np.ones()

这个是创建一个全部都是1的数组(矩阵)的函数

按照python的help函数的解释是

py 复制代码
np.ones(shape, dtype=None, order='C', *, like=None)

实际上要在意的是,以下的部分:

py 复制代码
np.ones(shape, dtype=None)

4. np.zeros()

这个是创建一个全部都是0的数组(矩阵)的函数

py 复制代码
np.zeros(shape, dtype=float, order='C', *, like=None)

肯定的是,值得关注的还是以下的部分:

py 复制代码
np.zeros(shape, dtype=None)

定义数据类型

我们可以通过array函数里面的dtype形参来定义,如下

python 复制代码
ar = [1, 2, 4]
a = np.array(ar, dtype='float64')

# array([1., 2., 4.])

上面的代码表示的是创建float64类型的ndarray

除了float64之外,常见的数值数据类型还有:

  1. int:整数数据类型,表示整数值,可以使用不同的位数,如int8int16int32int64等。

  2. uint:无符号整数数据类型,表示非负整数值,也可以使用不同的位数,如uint8uint16uint32uint64等。

  3. complex:复数数据类型,表示复数值,可以使用不同的精度,如complex64(由两个32位浮点数组成)、complex128(由两个64位浮点数组成)等。

  4. bool:布尔数据类型,表示布尔值,只能取TrueFalse两个值。

  5. byte、rune:这两个类型实际上是uint8和int32的别名,分别用于表示ASCII字符和Unicode字符的值。


参考资料

暂无参考资料

相关推荐
GIS思维1 分钟前
ArcGIS10.X影像智能下载!迁移ArcGIS Pro批量智能高清影像下载工具至ArcGIS!
python·arcgis·arcgis pro·deepseek·高清影像下载·谷歌影像·天地图影像
谁怕?一蓑烟雨任平生34 分钟前
数据结构——栈和队列
数据结构·c++
web安全工具库35 分钟前
UDP数据发送与接收详解
python
蒙奇D索大1 小时前
【数据结构】如何解决二叉树在遍历查找前驱与后继的问题?线索二叉树来帮您……
c语言·数据结构·考研
韶瑜不会写代码1 小时前
7-14 利用正则表达式得到一段HTML文本中所有超链接对应的网址
python·正则表达式·html
ん贤2 小时前
【数据结构】栈与队列:基础 + 竞赛高频算法实操(含代码实现)
java·数据结构·c++·算法
大模型铲屎官2 小时前
从过拟合到强化学习:机器学习核心知识全解析
人工智能·python·机器学习·llm·scikit-learn·强化学习·过拟合
java1234_小锋2 小时前
一周学会Flask3 Python Web开发-SQLAlchemy添加数据操作-班级模块
开发语言·前端·python·flask·flask3
补三补四2 小时前
网络爬虫【爬虫库urllib】
爬虫·python·网络爬虫
帅帅的Python2 小时前
基于Python的tkinter开发的一个工具,解析图片文件名并将数据自动化导出为Excel文件
python·自动化·excel