【Python基础知识库】Numpy库里有哪些函数?

本文详细介绍了Python科学计算库Numpy的基础知识,包括ndarray、常用数学函数、排序、矩阵操作、一元和多元计算、读写功能、数组属性以及随机数生成。重点讲解了np.array、np.ones、np.zeros、np.diag、np.sort、np.dot、np.linalg等功能,是学习Numpy的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    NumPy是Numerical Python的简称,是目前python高性能科学计算和数据分析中最为重要的基础包。

  • ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。
  • 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。
  • 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。
  • 线性代数、随机数生成以及傅里叶变换功能。
  • 用于集成C、C++、Fortran等语言编写的代码的工具。

    一般导入numpy包,简写成np:

import numpy as np

np常用函数

1、生成函数

    (1)np.array( x):将输入数据转化为一个ndarray

             np.array( x, dtype):将输入数据转化为一个类型为type的ndarray

             np.asarray( array ):将输入数据转化为一个新的(copy)ndarray

data1 = [6, 7, 8, 9, 10]
arr1 = np.array(data1)
arr1
arr1.dtype
arr2 = np.asarray(arr1)
arr2

# 输出
array([ 6,  7,  8,  9, 10])
dtype('int32')
array([ 6,  7,  8,  9, 10])

 

    (2)np.ones( N ):生成一个N长度的一维全一ndarray

             np.ones( N, dtype):生成一个N长度类型是dtype的一维全一ndarray

             np.ones_like( ndarray ):生成一个形状与参数相同的全一ndarray

import numpy as np
arr3 = np.ones(3)
arr3
arr4 = np.ones(3,'float32')
arr4
arr5 = np.ones_like(arr3)
arr5

# 输出
array([1., 1., 1.])
array([1., 1., 1.], dtype=float32)
array([1., 1., 1.])

(3)   np.zeros( N ):生成一个N长度的一维全零 ndarray

            np.zeros( N, dtype):生成一个N长度类型是dtype的一维全零ndarray

            np.zeros_like( ndarray ):生成一个形状与参数相同的全零ndarray

import numpy as np
arr6 = np.zeros(3)
arr6
arr7 = np.zeros(3,'float32')
arr7
arr8 = np.zeros_like(arr3)
arr8

# 输出
array([0., 0., 0.])
array([0., 0., 0.], dtype=float32)
array([0., 0., 0.])

(4) np.empty( N ):生成一个N长度的未初始化一维ndarray
          np.empty( N, dtype):生成一个N长度类型是dtype的未初始化一维ndarray
          np.empty(ndarray):类似np.ones_like( ndarray )

import numpy as np
arr9 = np.empty(3)
arr9
arr10 = np.empty(3,'float32')
arr10
arr11 = np.empty_like(arr3)
arr11

# 输出
array([1., 1., 1.])
array([1., 1., 1.], dtype=float32)
array([1., 1., 1.])

    (5)np.eye( N )或np.identity( N ):创建一个N * N的单位矩阵(对角线为1,其余为0)

import numpy as np
arr12 = np.eye(3)
arr12
arr13 = np.identity(3)
arr13

# 输出
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

    (6)np.arange( num):生成一个从0到num-1步数为1的一维ndarray

             np.arange( begin, end):生成一个从begin到end-1步数为1的一维ndarray

             np.arange( begin, end, step):生成一个从begin到end-step的步数为step的一维ndarray

import numpy as np
arr14 = np.arange(3)
arr14
arr15 = np.arange(3,10)
arr15
arr16 = np.arange(3,10,0.5)
arr16

# 输出
array([0, 1, 2])
array([3, 4, 5, 6, 7, 8, 9])
array([3. , 3.5, 4. , 4.5, 5. , 5.5, 6. , 6.5, 7. , 7.5, 8. , 8.5, 9. , 9.5])

    (7)np.full( N,val ):生成一个N长度的一维值为val的 ndarray

             np.full( N, val,dtype):生成一个N长度,值为val,类型是dtype的一维ndarray

             np.full_like( ndarray, val ):生成一个形状相同,但参数为val的ndarray

import numpy as np
arr17 = np.full(3,6)
arr17
arr18 = np.full(3,7,'float32')
arr18
arr19 = np.full_like(arr3,4)
arr19

# 输出
array([6, 6, 6])
array([7., 7., 7.], dtype=float32)
array([4., 4., 4.])

 2、矩阵函数

    np.diag( ndarray):以一维数组的形式返回方阵的对角线(或非对角线)元素

    np..diag( [x,y,...]):将一维数组转化为方阵(非对角线元素为0)

    np.dot(ndarray, ndarray):矩阵乘法

    np.trace( ndarray):计算对角线元素的和

import numpy as np
arr1 = np.ones((3,6))
arr2 = np.empty((6,2))
np.diag(arr1)
np.diag([3,3,4])
np.dot(arr1,arr2)
np.trace(arr1)

# 输出
array([1., 1., 1.])

array([[3, 0, 0],
       [0, 3, 0],
       [0, 0, 4]])

array([[1.33171873e-311, 6.65859366e-312],
       [1.33171873e-311, 6.65859366e-312],
       [1.33171873e-311, 6.65859366e-312]])

3.0

3、排序函数

    np.sort( ndarray):排序,返回副本

    np.unique(ndarray):返回ndarray中的元素,排除重复元素之后,并进行排序

    np.intersect1d( ndarray1, ndarray2):返回二者的交集并排序

    np.union1d( ndarray1, ndarray2):返回二者的并集并排序

    np.setdiff1d( ndarray1, ndarray2):返回二者的差

    np.setxor1d( ndarray1, ndarray2):返回二者的对称差

i
<think>好的,用户想了解Python中模块的定义和用法。首先,我需要回忆一下模块的基本概念。根据引用[1],模块就是Python文件,里面包含函数、类、变量等。模块的作用是组织代码,避免命名冲突,还能复用代码。用户可能刚接触Python,需要清晰的解释。 然后,模块的分类和使用方法。引用[2]提到模块类似于C的头文件和Java的包,比如导入math模块来用sqrt函数。需要说明如何导入模块,比如import语句的不同形式,以及注意事项,比如模块的搜索路径,这在引用[4]里有详细说明,比如当前目录、PYTHONPATH等。 接下来,用户可能想知道模块的实际应用。比如如何创建自己的模块,引用[3]中的例子展示了包的结构,包含__init__.py文件。这部分需要分步骤说明,包括创建模块、导入方式、使用模块内的元素。还要提到模块代码在导入时执行一次的特性,避免重复执行带来的问题。 另外,用户可能遇到常见问题,比如模块找不到,这时候需要解释路径设置和命名规则。引用[4]提到文件名和模块名要一致,这点很重要,可能新手容易犯错。还要提到第三方模块的安装和使用,引用[1]中的“拿来主义”说明使用现有模块的好处。 最后,生成相关问题需要考虑用户可能的后续疑问,比如模块和的区别,如何组织大型项目,第三方的使用等。这些问题能帮助用户深入学习模块的相关知识。</think>### Python模块的定义与用法解析 #### 一、模块的定义 Python模块是**代码组织的基本单元**,对应一个独立的$*.py$文件,其中可包含函数、类、变量定义及可执行代码[^1]。例如: ```python # math_utils.py(模块文件) def square(n): return n ** 2 PI = 3.1415926 ``` #### 二、核心特性 1. **命名空间隔离** 不同模块中允许存在同名函数/变量,通过$module_name.function_name$调用避免冲突[^1] 2. **代码复用机制** 支持通过$import$语句跨文件复用代码,例如: ```python import math_utils print(math_utils.square(5)) # 输出25 ``` 3. **执行控制** 模块中的顶级代码在首次导入时执行一次,后续导入直接使用缓存[^4] #### 三、使用规范 | 操作类型 | 语法示例 | 应用场景 | |----------------|-------------------------------|------------------------------| | 完整导入 | `import module` | 需要频繁调用模块成员时 | | 别名导入 | `import numpy as np` | 简化长模块名 | | 部分导入 | `from math import sqrt` | 仅需特定功能时 | | 全量导入 | `from module import *` | 快速原型开发(不推荐生产环境)| #### 四、路径解析机制 Python解释器按以下顺序搜索模块[^4]: $$ \begin{cases} 1. \text{当前脚本目录} \\ 2. \text{PYTHONPATH环境变量路径} \\ 3. \text{标准安装目录} \\ 4. \text{第三方目录(如site-packages)} \end{cases} $$ #### 五、最佳实践 1. **命名规范** 模块名应使用小写字母和下划线组合(如$data_processor.py$) 2. **入口保护** 通过`if __name__ == '__main__'`隔离测试代码: ```python # 模块内部 def test(): print("模块测试") if __name__ == '__main__': # 直接执行本文件时触发 test() ``` 3. **包整合** 多个模块可通过包(含$__init__.py$的目录)组织为层级结构[^3]: ``` my_package/ ├── __init__.py ├── utils.py └── algorithms/ ├── __init__.py └── sort.py ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值