python numpy库介绍

Python Numpy库介绍

什么是Numpy?

NumPy是一个开源的Python扩展库,用于数值计算。它包含以下几个部分:

  • 一个强大的N维数组对象 ndarray;
  • 广播功能函数;
  • 整合C/C++/Fortran代码的工具;
  • 线性代数、傅里叶变换、随机数生成等功能。

NumPy是SciPy、Pandas等数据处理或科学计算库的核心库。

如何安装Numpy?

可以通过pip包管理器安装numpy库,命令如下:

pip install numpy

ndarray 对象

ndarray 对象是 numpy 中的核心概念,它是一个存储多维同类型元素的数组。用 ndarray 对象来存储和处理数据要比使用 Python 自带的列表(List)结构更有效和方便。以下是一些基本操作示例。

创建ndarray

可以使用 numpy 库的 array 函数以列表、元组或其他序列创建 ndarray 对象。

import numpy as np

# 从列表创建一个一维数组
array1 = np.array([1, 2, 3, 4, 5])
print(array1)

# 从元组创建一个二维数组
array2 = np.array([(1, 2, 3), (4, 5, 6)])
print(array2)

# 从已有数组创建一个新数组
array3 = np.array(array1, dtype=float)
print(array3)

访问元素

import numpy as np

a = np.array([[1,2,3],[4,5,6]])
print(a[0, 0]) # 输出:1
print(a[1, 2]) # 输出:6

基本操作

import numpy as np

# 创建一个 4 x 3 的全为 0 的数组
array1 = np.zeros((4, 3))
print(array1)

# 创建一个 3 x 4 的全为 1 的数组
array2 = np.ones((3, 4))
print(array2)

# 创建一个 2 x 2 的恒等数组
array3 = np.eye(2)
print(array3)

# 对数组进行转置
array4 = np.array([(1,2,3), (4,5,6)])
print(array4.T)

# 数组拼接
array5 = np.concatenate((array1, array2), axis=0)
print(array5)

# 数组重塑
array6 = np.arange(12).reshape(3,4)
print(array6)

广播

当 numpy对不同形状(shape)的数组进行算术运算时,通常需要执行广播操作。 不需要创建新数组,但是返回的数组与原始数组的形状不同。 这里是一个广播的例子。

import numpy as np

# 创建两个数组
a = np.array([1,2,3,4])
b = np.array([10,20,30,40])

# 将数组相加
c = a + b
print(c)

线性代数

NumPy 提供了线性代数函数库 linalg,该库包含了线性代数所需的所有基本功能,例如:

import numpy as np

# 矩阵加法
a = np.array([[1,2],[3,4]])
b = np.array([[2,3],[4,5]])
c = np.add(a, b)
print(c)

# 矩阵点乘(矩阵乘法)
a = np.array([[1,2],[3,4]])
b = np.array([[2,1],[1,3]])
c = np.dot(a, b)
print(c)

# 矩阵求逆
a = np.array([[1,2],[3,4]])
ainv = np.linalg.inv(a)
print(ainv)

以上就是对Numpy库的介绍和演示。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python numpy库介绍 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 浅谈Python基础之I/O模型

    浅谈Python基础之I/O模型 什么是I/O模型 I/O模型是指在计算机系统中,处理器对外设进行输入输出数据的方式或模式。常见的I/O模型有以下几种: 同步阻塞IO(Blocking I/O) 同步非阻塞IO(Non-Blocking I/O) I/O多路复用(I/O Multiplexing) 异步IO(Asynchronous I/O) 在Python…

    python 2023年5月30日
    00
  • Python基础学习之时间转换函数用法详解

    Python基础学习之时间转换函数用法详解 在Python中,时间转换函数是非常重要的一部分,可以帮助我们对时间进行准确且高效的处理。本文将介绍Python中常用的时间转换函数,包括datetime、time、calendar等模块的使用方法,以及一些常见应用场景的示例说明。 1. 日期和时间的表示 在Python中,日期和时间是通过一些特定的表示方式来进行…

    python 2023年6月2日
    00
  • Python实现身份证前六位地区码对照表文件

    针对题目“Python实现身份证前六位地区码对照表文件”的完整攻略,可以分为以下几步: 1. 确认身份证前六位地区码 身份证前六位是地址码,其中第1、2位表示省份,第 3、4 位表示城市或县级市,第 5、6位表示区县或县级市的市辖区。具体编码对应表可以在国家标准《GB/T 2260-2007 中华人民共和国行政区划代码》中查看,也可以在官方的网站上下载。 2…

    python 2023年5月14日
    00
  • Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法

    针对Python打包工具PyInstaller的安装以及在PyCharm中配置支持PyInstaller的详细方法,可以按照以下步骤进行操作: 第一步 安装PyInstaller 可以通过pip进行安装,输入以下命令: pip install pyinstaller 安装成功后,可以通过以下命令查看是否安装成功: pyinstaller –version …

    python 2023年5月13日
    00
  • Python的运算符重载详解

    在Python中,运算符重载是一种强大的特性,它允许我们自定义类的行为,使其支持常见的算符操作。本文将为您详细讲解Python的运算符重载,包括如何定义和使用运算符重载,并提供两个示例说明。 运算符重载的基本概念 算符重载是指在类中定义特殊方法,使其支持常见的运算符操作。例如,我们可以在类中定义__add__,使支持加法运算符+。以下是运算符重载的基本概念示…

    python 2023年5月14日
    00
  • 利用Python发送邮件或发带附件的邮件

    利用Python发送邮件或带附件的邮件的攻略如下: 一、Python发送邮件的基本步骤 1. 导入smtplib和email模块 import smtplib from email.mime.text import MIMEText 2. 连接SMTP服务器 mail_host = "smtp.xxx.com" mail_port = 2…

    python 2023年6月3日
    00
  • 新手如何快速入门Python(菜鸟必看篇)

    新手如何快速入门Python(菜鸟必看篇) Python是一种高级编程语言,由于其简单易学,语法简洁清晰,如今已成为当下最受欢迎的编程语言之一。Python有广泛的应用领域,涉及数据科学、Web开发、人工智能等多个领域。 对于Python的入门者来说,了解如何快速入门Python非常重要。这里将简单介绍如何快速入门Python。 学习Python前的准备 根…

    python 2023年5月19日
    00
  • Python中time与datetime模块使用方法详解

    Python中time与datetime模块使用方法详解 在Python中,time和datetime是两个非常常用的模块,用于时间相关的操作。本文将对这两个模块的使用方法进行详细讲解。 time模块使用方法 time模块提供了一系列与时间有关的函数,包括获取当前时间、格式化时间、延时等。 获取当前时间 使用time.time()可以获取当前时间的时间戳(从…

    python 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部