当前位置: 首页 > news >正文

菜鸟笔记-Python函数-linspace

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。
  • 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.33333333  6.66666667 10.        ][ 1.          4.33333333  7.66666667 11.        ][ 2.          5.33333333  8.66666667 12.        ]]

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

注意事项

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

相关文章:

  • 为什么我们应该使用QGIS
  • 用Python实现办公自动化(自动化处理Excel工作簿)
  • BaseDao入门使用
  • 计算机毕业设计Python+Spark知识图谱高考志愿推荐系统 高考数据分析 高考可视化 高考大数据 大数据毕业设计 机器学习 深度学习 人工智能
  • 基于java+springboot+vue实现的电商个性化推荐系统(文末源码+Lw+ppt)23-389
  • 论文阅读,The Lattice Boltzmann Method: Principles and Practice(六)(1)
  • 新能源充电桩站场视频汇聚系统建设方案及技术特点分析
  • 三、音频隐写[Audacity、deepsound、dtmf2num、MMSSTV、虚拟声卡、MP3Stego]
  • 二、Web3 学习(区块链)
  • Linux内网提权
  • 聚观早报 | 抖音独立商城App上线;阿里云联发科合作
  • 第十四届蓝桥杯省赛C++ B组所有题目以及题解(C++)【编程题均通过100%测试数据】
  • 【御控物联】 IOT异构数据JSON转化(场景案例一)
  • Kubernetes-running app on kube
  • 简述如何系统地学习Python
  • bsd猜想 Murmuration of Eliptic Curves(笔记)
  • 小米汽车正式发布:开启智能电动新篇章
  • 线性代数笔记25--复数矩阵、快速傅里叶变换
  • 洛谷 P8783 [蓝桥杯 2022 省 B] 统计子矩阵
  • Rust 实战练习 - 8. 内存,ASM,外挂 【重磅】
  • XUbuntu22.04之Typora快捷键Ctrl+5不生效问题(二百二十六)
  • GRE_MGRE综合实验
  • 把组合损失中的权重设置为可学习参数
  • 用Bat启动jar程序
  • 网站维护页404源码
  • jmeter链路压测
  • 香港服务器怎么看是CN2 GT线路还是CN2 GIA线路?
  • CrossOver软件2024免费 最新版本详细介绍 CrossOver软件好用吗 Mac电脑玩Windows游戏
  • harbor api v2.0
  • Vue 表单数据双向绑定 v-mode