numpy库零散笔记
创建数组
1. 用 ndarray
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
参数 | 描述 |
---|---|
object | 数组或嵌套的数列 |
dtype | 数组元素的数据类型,可选 |
copy | 对象是否需要复制,可选 |
order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
subok | 默认返回一个与基类类型一致的数组 |
ndmin | 指定生成数组的最小维度 |
例子
import numpy as np
a = np.array([[1, 2],[3, 4]])
print (a)
[[1 2]
[3 4]]
2. 用 empty
numpy.empty(shape, dtype = float, order = 'C')
# 例子
import numpy as np
x = np.empty([3,2], dtype = int)
print (x)
[[ -1 -1]
[123995024 510]
[ 0 0]]
3. 从已有的数组创建数组 asarray
numpy.asarray(a, dtype = None, order = None)
参数 | 描述 |
---|---|
a | 任意形式的输入参数,可以是—列表, 列表的元组, 元组, 元组的元组, 元组的列表,多维数组 |
dtype | 数据类型,可选 |
order | 可选,有"C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序 |
# 例子
import numpy as np
x = (1,2,3)
a = np.asarray(x, dtype = float)
print (a)
[1. 2. 3.]
4. 从从数值范围创建数组 arange
numpy.arange(start, stop, step, dtype)
参数 | 描述 |
---|---|
start | 起始值,默认为0 |
stop | 终止值(不包含) |
step | 步长,默认为1 |
dtype | 返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型 |
# 例子
import numpy as np
x = np.arange(10,20,2)
print (x)
[10 12 14 16 18]
常用函数
1. 修改数组形状 numpy.reshape()
numpy.reshape(arr, newshape, order='C')
#例子
import numpy as np
a = np.arange(8)
print ('原始数组:')
print (a)
b = a.reshape(4,2)
print ('修改后的数组:')
print (b)
原始数组:
[0 1 2 3 4 5 6 7]
修改后的数组:
[[0 1]
[2 3]
[4 5]
[6 7]]
2. 创建视图 ndarray.view()
该方法创建的新数组的维数变化不会改变原始数据的维数
# 例子
import numpy as np
# 最开始 a 是个 3X2 的数组
a = np.arange(6).reshape(3,2)
print ('数组 a:')
print (a)
print ('创建 a 的视图:')
b = a.view()
print (b)
print ('两个数组的 id() 不同:')
print ('a 的 id():')
print (id(a))
print ('b 的 id():' )
print (id(b))
# 修改 b 的形状,并不会修改 a
b.shape = 2,3
print ('b 的形状:')
print (b)
print ('a 的形状:')
print (a)
数组 a:
[[0 1]
[2 3]
[4 5]]
创建 a 的视图:
[[0 1]
[2 3]
[4 5]]
两个数组的 id() 不同:
a 的 id():
2931823285712
b 的 id():
2931863294672
b 的形状:
[[0 1 2]
[3 4 5]]
a 的形状:
[[0 1]
[2 3]
[4 5]]
3. numpy.random.rand()
生成指定维度的的[0,1)范围之间的随机数,输入参数为维度
#例子
a = np.random.rand(3, 2)
print(a)
[[0.44297341 0.10012937]
[0.6295409 0.87319242]
[0.9461878 0.01961317]]
4. np.random.randn()
生成指定维度的服从标准正态分布的随机数,输入参数为维度
#例子
a = np.random.randn(3, 2)
print(a)
[[-0.04983113 0.14470064]
[ 0.94980153 -1.84530982]
[-0.31134328 -0.24585296]]
5. numpy.random.normal()
用于生成符合正态分布(也称为高斯分布)的随机数
用法:random.normal(loc=0.0, scale=1.0, size=None)
- loc:指定均值(期望值)。
- scale:指定标准差。
- size:指定生成的随机数数量,可以是一个数,也可以是一个元组,默认为None,只输出一个值
6. numpy.zeros()
numpy.zeros(shape, dtype = float, order = 'C')
# 例子
# 默认为浮点数
x = np.zeros(5)
print(x)
# 设置类型为整数
y = np.zeros((5,), dtype = int)
print(y)
[0. 0. 0. 0. 0.]
[0 0 0 0 0]
其他
1. 索引问题
# 例子
a = np.arange(10)
print(a)
print(a[:-1])
[0 1 2 3 4 5 6 7 8 9]
[0 1 2 3 4 5 6 7 8]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!