Python Numpy

(一)numpy.linspace

说明:

通过定义均匀间隔创建数值序列。

原型:

复制代码
numpy.linspace(
start, #序列的起始值。
stop, #序列的结束值,除非端点设置为 False。
num=50, #要生成的样本数。 默认值为 50。
endpoint=True, #如果为真,则后是闭。 否则,不包括最后一个点。
retstep=False, #如果为 True,则返回 (samples, step),其中 step 是样本之间的间距。
dtype=None, #输出数组的类型。
axis=0)#结果中用于存储样本的轴。默认情况下 (0),样本将沿着在开头插入的新轴。 使用 -1 在末尾获得一个轴。
#返回值:
#在闭区间 [start, stop] 或半开区间 [start, stop) 中有 num 个等距样本(取决于端点是 True 还是 False)。
#仅在 retstep 为 True 时返回。样本之间的间距大小。
复制代码

例子:

self.training_data = numpy.linspace(-math.pi, math.pi, training_size)

输出shape

a=numpy.array([3])
a[0]
3
a=numpy.linspace(-3, 3, 6)
a[0]
-3.0

(二)numpy.random.shuffle

说明:

对numpy的数组进行重新随机排序,如果是多维数组,按照第一维进行随机排序

原型:

random.shuffle(
x)#要打乱顺序的数组、列表或可变序列。

例子:

numpy.random.shuffle(self.training_data)

(三)numpy.random.normal

说明:

从正态(高斯)分布中抽取随机样本。

原型:

random.normal(
loc=0.0, #分布的均值(中心)
scale=1.0, #分布的标准差(宽度)
size=None)#输出值的维度。如果给定的维度为(m, n, k),那么就从分布中抽取m * n * k个样本。
#如果size为None(默认值)并且loc和scale均为标量,那么就会返回一个值。否则会返回np.broadcast(loc, scale).size个值

#返回值:从含参的正态分布中抽取的随机样本

例子:

self.bias = numpy.random.normal(scale=random_scale, size=(output_size, 1))

(四)numpy.zeros

说明:

返回给定形状和类型的新数组,其中元素的值为0。

np.zeros([13])==np.zeros(13)==np.zeros((13))
都是返回长度13的数组

原型:

numpy.zeros(
shape, #新数组的形状,例如 (2, 3) 或 2。
dtype=float, #数组所需的数据类型,例如 numpy.int8。 默认为 numpy.float64。
order='C', #是否在内存中以行优先(C 风格)或列优先(Fortran 风格)顺序存储多维数据。
*, 
like=None)#允许创建不是 NumPy 数组的数组的引用对象。

例子:

self.input = numpy.zeros((input_size, 1))

(五)numpy.array

说明:

作用:创建一个数组。

原型:

复制代码
numpy.array(
object, #公开数组接口的任何对象。如果对象是标量,则返回包含对象的 0 维数组。
dtype=None, #数组所需的数据类型。
*, 
copy=True, #如果为true(默认值),则复制对象。
order='K', #指定阵列的内存布局。
subok=False, #如果为True,则子类将被传递,否则返回的数组将被强制为基类数组(默认)。
ndmin=0, #指定结果数组应具有的最小维数。根据需要,将根据需要预先设置形状。
like=None)

#返回值:满足要求的数组对象
复制代码

例子:

a=numpy.array([[3]])
a[0][0]
3

(六)numpy.random.randint

说明:

函数的作用是,返回一个随机整型数,范围从低(包括)到高(不包括),即[low, high)。

原型:

random.randint(
low, #生成的数值最低要大于等于low。
high=None, #如果使用这个值,则生成的数值在[low, high)区间。
size=None,#输出随机数的尺寸,
dtype=int)#想要输出的格式。

#返回一个随机数或随机数数组

例子

index = np.random.randint(0,64,50)
#返回一个len=50,值在0-64的数组

(七)numpy.argmax

说明:

np.argmax是用于取得数组中每一行或者每一列的的最大值。常用于机器学习中获取分类结果、计算精确度等。

原型:

numpy.argmax(
a, #输入数组。
axis=None, #默认情况下,索引位于展平数组中,否则沿着指定的轴。
out=None, #如果提供,结果将被插入到这个数组中。 它应该具有适当的形状和数据类型。
*, 
keepdims=<no value>)#如果将其设置为 True,则减少的轴将作为大小为 1 的维度保留在结果中。

#返回值:数组中的索引数组。 

例子:

一个m×n×p维的矩阵,
axis为0,舍去m,返回一个 n×p 维的矩阵
axis为1,舍去n,返回一个 m×p 维的矩阵
axis为2,舍去p,返回一个 m×n 维的矩阵

two_dim_array = np.array([[1, 3, 5], [0, 4, 3]])
max_index_axis0 = np.argmax(two_dim_array, axis = 0)
max_index_axis1 = np.argmax(two_dim_array, axis = 1)
print(max_index_axis0)
print(max_index_axis1)
[0 1 0] 
[2 1]

(八)numpy.reshape

说明:

用于在不更改数据的情况下为数组赋予新形状。

原型:

numpy.reshape(
a, #需要 reshape 的数组
newshape, #新形状应与原始形状兼容。如果是整数,则结果将是该长度的一维数组。一个形状尺寸可以为-1。在这种情况下,该值是根据数组的长度和其余维来推断的。
order=‘C’)#使用此索引顺序读取a的元素,并使用此索引顺序将元素放置到重新形成的数组中。

这里的负数是模糊控制,负数可以为任何数。比如 reshape(2,-1),固定两行,多少列系统根据元素数量自动计算好;同理,reshape(-2,2): 固定两列,行数自动计算好。若出现了无法整除的情况,系统会报错

例子:

复制代码
>>> c=np.array([[2,3,4],[5,6,7]])
>>> c
array([[2, 3, 4],
       [5, 6, 7]])
       
>>> c=c.reshape(3,2)
>>> c
array([[2, 3],
       [4, 5],
       [6, 7]])
复制代码

 

posted @   ImreW  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 我与微信审核的“相爱相杀”看个人小程序副业
· DeepSeek “源神”启动!「GitHub 热点速览」
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示