Numpy 的简单使用(二)

本文介绍了如何使用NumPy库中的arange、linspace和logspace函数来创建不同类型的数组。这些函数可以方便地生成数值范围内的等差或等比序列,适用于科学计算和数据分析等领域。

一.NumPy 从数值范围创建数组

arange函数

 格式:numpy.arange(start, stop, step, dtype)

参数描述
start起始值,默认为0

stop终止值(不包含)
step步长,默认为1
dtype

返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型。

import numpy as np
a = np.arange(1,11,2,float)
print(a)

[1. 3. 5. 7. 9.]

 linspace函数,创建一维数组。

格式:np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

参数描述
start序列的起始值
stop序列的终止值,如果endpointtrue,该值包含于数列中
num要生成的等步长的样本数量,默认为50
endpoint该值为 true 时,数列中包含stop值,反之不包含,默认是True。
retstep如果为 True 时,生成的数组中会显示间距,反之不显示。
dtypendarray 的数据类型
import numpy as np
a = np.linspace(1,10,50,True,True,float)
print(a)



(array([ 1.        ,  1.18367347,  1.36734694,  1.55102041,  1.73469388,
        1.91836735,  2.10204082,  2.28571429,  2.46938776,  2.65306122,
        2.83673469,  3.02040816,  3.20408163,  3.3877551 ,  3.57142857,
        3.75510204,  3.93877551,  4.12244898,  4.30612245,  4.48979592,
        4.67346939,  4.85714286,  5.04081633,  5.2244898 ,  5.40816327,
        5.59183673,  5.7755102 ,  5.95918367,  6.14285714,  6.32653061,
        6.51020408,  6.69387755,  6.87755102,  7.06122449,  7.24489796,
        7.42857143,  7.6122449 ,  7.79591837,  7.97959184,  8.16326531,
        8.34693878,  8.53061224,  8.71428571,  8.89795918,  9.08163265,
        9.26530612,  9.44897959,  9.63265306,  9.81632653, 10.        ]), 0.1836734693877551)

logspace()函数创建一个于等比数列

格式:np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)

参数描述
start序列的起始值为:base ** start
stop序列的终止值为:base ** stop。如果endpointtrue,该值包含于数列中
num要生成的等步长的样本数量,默认为50
endpoint该值为 true 时,数列中中包含stop值,反之不包含,默认是True。
base对数 log 的底数。
dtypendarray 的数据类型
import numpy as np
a = np.logspace(1,2,10)
print(a)

[ 10.          12.91549665  16.68100537  21.5443469   27.82559402
  35.93813664  46.41588834  59.94842503  77.42636827 100.        ]

<think>好的,我现在需要帮助用户了解Numpy使用方法。用户提到了几个引用内容,我需要结合这些内容来组织回答。首先,用户可能是一个刚开始学习Python数据科学的人,需要基础的Numpy教程。 首先,我要确认用户的需求。他们明确提到“Numpy 使用教程”和“如何使用 Numpy”,所以应该从安装开始,然后介绍常用功能。根据引用[1],安装部分可以使用conda或pip,这一点需要包括进去。引用[1]还提到了查看版本的方法,这也是基础内容,应该放在前面。 接下来,用户可能需要知道如何创建数组。引用中没有提到数组创建的具体函数,但这是Numpy的核心,所以需要补充np.array()的例子。比如创建一维和维数组,并展示输出结果,这样用户能直观理解。 然后是关于数组操作的内容。引用[2]提到了numpy.mod()和排序函数numpy.sort(),这里需要详细说明。比如,数学运算部分可以包括加减乘除、平方根、三角函数等,并给出示例代码。排序函数需要展示如何使用np.sort(),并说明axis参数的作用,这样用户能处理不同维度的数组。 索引和切片也是Numpy的重要部分,虽然引用中没有提到,但这是基础中的重点,必须包含。要解释基本索引、布尔索引和花式索引,每个都给出例子,让用户明白如何选取数据。 广播机制是Numpy高效的关键,用户可能不了解这个概念,需要简单解释,并给出一个例子,比如数组与标量相加,或者不同形状数组的运算,这样用户能理解广播的用途。 性能分析部分,用户可能想知道为什么Numpy比原生Python快,这里需要提到矢量化操作和底层C实现,这能帮助用户明白Numpy的优势所在。 最后,结合引用中的内容,确保引用的正确使用。例如,在安装部分引用[1]和[3],数学函数部分引用[2]。同时,生成的相关问题要覆盖安装、创建数组、数学运算、索引、广播和性能优化,这些都是用户可能进一步询问的方向。 检查所有示例代码的LaTeX格式是否符合要求,行内公式用$...$,独立公式用$$...$$,但看起来用户提供的引用中没有涉及数学公式,所以可能不需要太多数学表达,但如果有运算的部分,比如平方根,可以写成np.sqrt($x^2$)之类的,但根据示例,可能不需要。不过根据系统指令,所有行内数学表达式需要用$...$,所以需要注意这一点。 最后确保回答结构清晰,分点讲解,每个部分都有代码示例,并且自然插入引用标注。比如安装部分末尾添加[^1][^3],数学函数部分添加[^2]等。同时,相关问题要覆盖用户可能进一步想了解的内容,比如安装问题、创建数组、数学运算、索引技巧、广播机制和性能对比。</think>### Numpy 使用教程 #### 1. 安装与验证 NumpyPython 的科学计算核心库,安装方法如下: ```bash conda install numpy # 通过 Anaconda 安装 # 或 pip install numpy # 通过 pip 安装[^1] ``` 安装后可通过以下代码验证版本: ```python import numpy as np print(np.__version__) # 输出示例:'1.26.0'[^1] ``` #### 2. 创建数组 Numpy 的核心是**多维数组对象** `ndarray`: ```python # 一维数组 arr1 = np.array([1, 2, 3]) # 输出:array([1, 2, 3]) # 维数组 arr2 = np.array([[1, 2], [3, 4]]) # 输出:array([[1, 2], [3, 4]]) ``` #### 3. 数组操作 ##### 数学运算 ```python a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) print(a + b) # 逐元素加法:array([5, 7, 9]) print(a * 2) # 标量乘法:array([2, 4, 6]) print(np.sqrt(a)) # 平方根:array([1., 1.414, 1.732]) ``` ##### 索引与切片 ```python arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr[0, 1]) # 输出:2(第0行第1列) print(arr[:, 1:3]) # 输出所有行的第1-2列:array([[2,3],[5,6]]) ``` #### 4. 常用函数 ##### 排序 ```python arr = np.array([3, 1, 2]) sorted_arr = np.sort(arr) # 输出:array([1, 2, 3]) ``` ##### 余数计算 ```python print(np.mod(10, 3)) # 输出:1(10除以3的余数) ``` #### 5. 广播机制 Numpy 允许不同形状数组进行运算: ```python a = np.array([[1, 2], [3, 4]]) b = np.array([10, 20]) print(a + b) # 输出:array([[11,22],[13,24]]) ``` #### 6. 性能优势 Numpy 的矢量化操作比原生 Python 循环快 $10\sim100$ 倍,因其底层用 C 实现并行计算[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝本生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值