菜鸟笔记-Python函数-linspace

菜鸟笔记-Python函数-linspace本文详细介绍了 NumPy 库中的 linspace 函数 包括其基本语法 参数含义 示例应用以及注意事项 如不包括结束值 返回步长 自定义数据类型和在非一维数组上的使用

大家好,欢迎来到IT知识分享网。

linspace 是 NumPy 库中的一个函数,用于生成具有指定数量的等间距样本的数组。它的名字来源于“linear space”(线性空间),因为它在指定的范围内均匀地生成数值。

linspace 函数的基本语法如下:

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

参数说明:

  • start:序列的起始值。
  • stop:序列的结束值。如果 endpoint 为 True,该值会包含在生成的数组中;如果为 False,则不包含。
  • num:要生成的样本数,默认为 50。
  • endpoint:如果为 True,stop 是最后一个样本;否则,不包含 stop。默认为 True。[注意:step=(stop-start)/num]
  • retstep:如果为 True,返回 (samplesstep),其中 step 是样本之间的间隔。默认为 False。
  • dtype:输出数组的数据类型。如果没有给出,则从其他输入参数推断数据类型。
  • axis:在 0 的情况下,返回的数组是 1-D 的,否则返回的数组的形状是 (num,) + shape(start)

下面是一些使用 linspace 的示例:

1基本用法

import numpy as np # 生成从 0 到 10 的 5 个等间距的数 arr = np.linspace(0, 10, 5) print(arr)

输出结果: 

[ 0. 2.5 5. 7.5 10. ]

2不包括结束值 

# 生成从 0 到 10 的 5 个等间距的数,但不包括 10 arr = np.linspace(0, 10, 5, endpoint=False) print(arr)

输出结果:

[0. 2. 4. 6. 8.]

3返回步长

# 生成从 0 到 10 的 5 个等间距的数,并返回步长 samples, step = np.linspace(0, 10, 5, retstep=True) print(samples) print(step)

输出结果:

[ 0. 2.5 5. 7.5 10. ] 2.5

4在多维数组中使用 

# 假设我们有一个二维数组,我们想要在每个子数组上应用 linspace start = np.array([0, 1, 2]) arr_2d = np.linspace(start, 10, 5, axis=0) print(arr_2d)

输出结果:

[[ 0. 1. 2. ] [ 2.5 3.25 4. ] [ 5. 5.5 6. ] [ 7.5 7.75 8. ] [10. 10. 10. ]]

在这个例子中,linspace 在 start 数组和 10 之间生成了 5 个等间距的数,并将这些数沿着第一个轴(axis=0)排列成一个二维数组。 

5自定义数据类型

你可以通过dtype参数来指定输出数组的数据类型。

import numpy as np # 生成从 0 到 10 的 5 个等间距的数,数据类型为整数 arr = np.linspace(0, 10, 5, dtype=int) print(arr)

输出结果:

[ 0 2 5 7 10]

请注意,当使用整数类型时,由于舍入,生成的数值可能不是完全等间距的。

6在非一维数组上使用

虽然linspace主要用于生成一维数组,但你可以通过与其他NumPy函数结合使用来在非一维数组上应用它。

import numpy as np # 创建一个二维数组的每一行都使用linspace rows = 3 num_points = 4 arr_2d = np.array([np.linspace(i, i+10, num_points) for i in range(rows)]) print(arr_2d)

 输出结果:

[[ 0. 3. 6. 10. ] [ 1. 4. 7. 11. ] [ 2. 5. 8. 12. ]]

在这个例子中,我们使用列表推导式来创建一个二维数组,其中每一行都是使用linspace函数生成的一维数组。

注意事项

  • endpoint参数为False时,生成的数组将不包含结束值。
  • retstep参数允许你获取生成数组时使用的步长。
  • dtype参数允许你指定输出数组的数据类型。
  • 虽然linspace通常用于生成一维数组,但它可以与其他NumPy函数结合使用来生成更复杂的数组结构。

2024年4月1日学习补充:step=(stop-start)/num]

例:

np.linspace(0,10,11,endpoint=False)

start=0 ; stop=10 ; num=11 step=(10-0)/11=0.090

array([0. , 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.0])

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/116596.html

(0)
上一篇 2025-11-27 20:00
下一篇 2025-11-27 20:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信