arange、linspace与mgrid生成数组(numpy的API说明) —— Python数据工程No.10

numpy.arange的API详情

numpy.arange([start, ]stop, [step, ]dtype=None)

该函数返回给定间隔内的均匀间隔的值。

参数:
start : 可选参数,间隔的开始,并且间隔包括该值。默认起始值​​为0。
end : 间隔结束,并且该间隔不包括此值。
step : 可选参数,值之间的间距。对于任何输出out,这是两个相邻值out [i+1]-out[i]之间的距离。默认步长为1。如果将step指定为位置参数,则还必须指定start。
dtype :输出数组的类型。如果未给出dtype,则从其他输入参数推断数据类型。

代码示例:

import numpy as np
a=np.arange(4,dtype=float)          #创建浮点型数组:[0. 1. 2. 3.]
b=np.arange(0,10,2,dtype=int)       #创建整型数组:[0, 2, 4, 6, 8]
print(" a={}\n b={}".format(a,b))

代码输出:

 a=[0. 1. 2. 3.]
 b=[0 2 4 6 8]

numpy.linspace的API详情

numpy.linspace
(
	start, stop, num=50, endpoint=True, 
	retstep=False, dtype=None, axis=0
)

返回指定间隔内的均匀间隔的数字。

参数:
start : 序列的起始值。
stop : 序列的结束值。除非endpoint设置为False,在这种情况下,序列包含除num+1等距采样之外的所有采样,这样就省略了stop。请注意,当endpoint为False时,步长会发生变化。
num : 要生成的样本数。默认值为50。必须为非负数。
endpoint : 如果为True,则停止是最后一个样本。否则,不包括在内。默认值为True。
retstep : 如果为True,则返回(样本,步进),其中step是样本之间的间隔。
dtype :输出数组的类型。如果未给出dtype,则从其他输入参数推断数据类型。
axis : 结果中的轴用于存储样本。仅当start或stop类似于数组时才相关。默认情况下(0),样本将沿着在开始处插入的新轴。使用-1来获得轴的末端。

代码示例:

import numpy as np  
a=np.linspace(0,2,5)                #生成数组:[0., 0.5, 1., 1.5, 2.]
d=np.linspace(-1,2,5)               #创建数组:[-1., -0.25,  0.5,  1.25,  2.]
print(" a={}\n d={}".format(a,d))

代码输出:

 a=[0.  0.5 1.  1.5 2. ]
 d=[-1.   -0.25  0.5   1.25  2.  ]

numpy.mgrid的API详情

代码示例:

import numpy as np  
a=np.linspace(0,2,5)                #生成数组:[0., 0.5, 1., 1.5, 2.]
b=np.mgrid[0:2:5j]                  #等价于np.linspace(0,2,5)
x,y=np.mgrid[0:2:4j,10:20:5j]       #生成[0,2]×[10,20]上的4×5的二维数组
print(" a={}\n b={}".format(a,b))
print(" x={}\n y={}".format(x,y))

注意:这里的j步数,并不是表示步长。
代码输出:

 a=[0.  0.5 1.  1.5 2. ]
 b=[0.  0.5 1.  1.5 2. ]
 x=[[0.         0.         0.         0.         0.        ]
 [0.66666667 0.66666667 0.66666667 0.66666667 0.66666667]
 [1.33333333 1.33333333 1.33333333 1.33333333 1.33333333]
 [2.         2.         2.         2.         2.        ]]
 y=[[10.  12.5 15.  17.5 20. ]
 [10.  12.5 15.  17.5 20. ]
 [10.  12.5 15.  17.5 20. ]
 [10.  12.5 15.  17.5 20. ]]
`arange`, `linspace`, `logspace`, `zeros`, `eye`, `diag`, `ones` 是 PythonNumPy 库提供的用于生成数组的函数。以下是这些函数的基本使用方法和例子: 1. `arange`:类似于Python内置的 `range` 函数,用于生成一个均匀分布的值的数组。 ```python import numpy as np arr1 = np.arange(10) # 生成一个从0到9的整数数组 ``` 2. `linspace`:生成在指定区间内均匀分布的N个点的数组。 ```python arr2 = np.linspace(0, 1, 5) # 生成一个包含5个均匀分布在0到1之间的数的数组 ``` 3. `logspace`:生成在对数刻度上均匀分布的N个点的数组。 ```python arr3 = np.logspace(0, 1, 5) # 生成一个包含5个对数均匀分布在10的0次方到10的1次方之间的数的数组 ``` 4. `zeros`:生成一个指定大小的数组数组中的元素均为0。 ```python arr4 = np.zeros((2, 3)) # 生成一个2行3列的数组,元素全为0 ``` 5. `eye`:生成一个N×N的单位矩阵,对角线上的元素为1,其余为0。 ```python arr5 = np.eye(3) # 生成一个3×3的单位矩阵 ``` 6. `diag`:用于提取一个矩阵的对角线元素或生成一个对角矩阵。 ```python arr6 = np.diag([1, 2, 3]) # 生成一个对角线为[1, 2, 3]的2维方阵 ``` 7. `ones`:生成一个指定大小的数组数组中的元素均为1。 ```python arr7 = np.ones((2, 3)) # 生成一个2行3列的数组,元素全为1 ``` 请根据你的具体需求来确定生成数组数据。例如,如果你需要一个正弦波数据集,你可能会使用 `linspace` 来创建x轴上的均匀间隔的点,然后用这些点来计算正弦值,生成y轴数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值