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

网站建设沟通技巧自己怎么注册一个网站

网站建设沟通技巧,自己怎么注册一个网站,电商千万不要做虾皮,佛山做网站找哪家好数据分析基础库 NumPy 文章目录数据分析基础库 NumPy一、引言二、NumPy 基础与 ndarray 介绍2.1 NumPy 简介与安装2.2 ndarray 对象介绍三、ndarray 的创建方法3.1 从 Python 数据结构创建3.2 基于数值范围生成3.3 预定义形状填充3.4 特殊矩阵生成3.5 随机数组生成四、ndarray …

数据分析基础库 NumPy

请添加图片描述
在这里插入图片描述


文章目录

  • 数据分析基础库 NumPy
    • 一、引言
    • 二、NumPy 基础与 ndarray 介绍
      • 2.1 NumPy 简介与安装
      • 2.2 ndarray 对象介绍
    • 三、ndarray 的创建方法
      • 3.1 从 Python 数据结构创建
      • 3.2 基于数值范围生成
      • 3.3 预定义形状填充
      • 3.4 特殊矩阵生成
      • 3.5 随机数组生成
    • 四、ndarray 的基本属性
      • 4.1 形状相关属性
      • 4.2 数据类型相关属性
      • 4.3 数组转换与重塑


一、引言

NumPy(Numerical Python)是 Python 科学计算的基础库,为 Python 提供了高性能的多维数组对象和大量数学函数,是进行数据分析、机器学习和科学计算的基石。

学习目标

  • 理解 NumPy 数组(ndarray)的优势和应用场景

  • 掌握 ndarray 的创建方法和基本属性

  • 熟练使用数组进行基本运算和高级操作

  • 掌握数组的索引与切片技术

  • 应用常用统计函数进行数据分析

课程重点

  • ndarray 的高效存储和快速运算特性

  • 不同类型数组的创建方法

  • 数组的基本运算和矩阵运算

  • 数组的索引与切片操作

  • 常用统计函数的应用

二、NumPy 基础与 ndarray 介绍

2.1 NumPy 简介与安装

NumPy 是 Python 的一个开源数值计算扩展库,专为处理大型多维数组和矩阵数据而设计。它提供了高效的存储结构和运算函数,使得数值计算变得简洁而快速。

NumPy 的核心优势

  • 高效的存储方式,节省内存空间

  • 向量化运算,避免显式循环,提高执行速度

  • 丰富的数学函数库,支持各种科学计算

  • 与其他科学计算库(如 SciPy、Pandas)无缝集成

安装 NumPy

# 使用pip安装
pip install numpy# 验证安装
python -c "import numpy; print(numpy.__version__)"

导入 NumPy

import numpy as np  # 习惯上使用np作为别名

2.2 ndarray 对象介绍

ndarray(N-dimensional array)是 NumPy 的核心数据结构,代表一个多维的数组对象。与 Python 列表不同,ndarray 中的所有元素必须是相同类型的数据,这使得 ndarray 在存储和运算上更加高效。

ndarray 与 Python 列表的对比

特性ndarrayPython 列表
存储效率高,元素类型相同低,元素类型可不同
运算速度极快,向量化操作较慢,需显式循环
内存布局连续存储分散存储
数学运算直接支持元素级运算需借助第三方库或循环实现

操作演示 1:ndarray 与列表运算速度对比

假设我们需要计算两个包含 1000000 个元素的数组的和,分别使用 ndarray 和列表实现:

import numpy as np
import time# 使用ndarray
arr_np = np.arange(1000000)
start = time.time()
result_np = arr_np + arr_np
print("ndarray运算时间:", time.time() - start)  # 约0.0001秒# 使用列表
list_py = list(range(1000000))
start = time.time()
result_list = [x + y for x, y in zip(list_py, list_py)]
print("列表运算时间:", time.time() - start)  # 约0.08秒

输出结果

ndarray运算时间: 0.000123456列表运算时间: 0.087654321

从结果可以看出,ndarray 的运算速度比列表快约 700 倍!这正是 NumPy 在科学计算中广泛应用的主要原因之一。

三、ndarray 的创建方法

3.1 从 Python 数据结构创建

创建 ndarray 最直接的方法是使用np.array()函数,将 Python 列表、元组等序列类型转换为 ndarray。

基本语法

np.array(object, dtype=None)

示例 1:创建一维数组

# 从列表创建一维数组
arr1 = np.array([1, 2, 3, 4, 5])
print("一维数组:", arr1)
print("数组类型:", type(arr1))  # 输出:<class 'numpy.ndarray'>

示例 2:创建二维数组

# 从嵌套列表创建二维数组
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
print("二维数组:")
print(arr2d)

示例 3:指定数据类型

# 创建浮点型数组
arr_float = np.array([1, 2, 3], dtype=np.float32)
print("浮点型数组:", arr_float)
print("数据类型:", arr_float.dtype)  # 输出:float32

3.2 基于数值范围生成

NumPy 提供了多种基于数值范围生成数组的方法,适用于生成规则序列。

常用函数

函数功能示例
np.arange()创建等差数组np.arange(0, 10, 2) → [0, 2, 4, 6, 8]
np.linspace()创建等分数组np.linspace(0, 1, 5) → [0.0, 0.25, 0.5, 0.75, 1.0]
np.logspace()创建对数等分数组np.logspace(0, 2, 3) → [1.0, 10.0, 100.0]

示例 1:使用 arange 创建等差数组

# 创建从0到10(不包含10),步长为2的数组
arr_arange = np.arange(0, 10, 2)
print("arange生成的数组:", arr_arange)

示例 2:使用 linspace 创建等分数组

# 创建从0到1,包含5个等间距数值的数组
arr_linspace = np.linspace(0, 1, 5)
print("linspace生成的数组:", arr_linspace)

示例 3:使用 logspace 创建对数等分数组

# 创建从10^0到10^2,包含3个等比数值的数组
arr_logspace = np.logspace(0, 2, 3)
print("logspace生成的数组:", arr_logspace)

3.3 预定义形状填充

NumPy 提供了一系列函数,可以快速创建具有特定形状和初始值的数组,适用于初始化操作。

常用函数

函数功能示例
np.zeros()创建全零数组np.zeros((3, 4)) → 3x4 全零数组
np.ones()创建全一数组np.ones((2, 5)) → 2x5 全一数组
np.full()创建填充指定值的数组np.full((3, 3), 5) → 3x3 全 5 数组
np.empty()创建未初始化数组np.empty((2, 2)) → 未初始化数组,值随机

示例 1:创建全零数组

# 创建3行4列的全零数组
zeros_arr = np.zeros((3, 4))
print("全零数组:")
print(zeros_arr)

示例 2:创建全一数组并指定数据类型

# 创建2行5列的全一数组,数据类型为int
ones_arr = np.ones((2, 5), dtype=int)
print("全一数组:")
print(ones_arr)

示例 3:创建填充指定值的数组

# 创建3x3的全5数组
full_arr = np.full((3, 3), 5)
print("全5数组:")
print(full_arr)

3.4 特殊矩阵生成

在数学和线性代数中,一些特殊矩阵(如单位矩阵、对角矩阵)具有特定的结构和用途。NumPy 提供了专门的函数来创建这些特殊矩阵。

常用函数

函数功能示例
np.eye()创建单位矩阵np.eye(3) → 3x3 单位矩阵
np.diag()创建对角矩阵np.diag([1, 2, 3]) → 对角线为 1,2,3 的矩阵
np.tri()创建下三角矩阵np.tri(3) → 3x3 下三角矩阵

示例 1:创建单位矩阵

# 创建3x3的单位矩阵
eye_arr = np.eye(3)
print("单位矩阵:")
print(eye_arr)

示例 2:创建对角矩阵

# 创建对角线为1, 2, 3的对角矩阵
diag_arr = np.diag([1, 2, 3])
print("对角矩阵:")
print(diag_arr)

3.5 随机数组生成

在模拟实验、机器学习等场景中,随机数组非常有用。NumPy 的random子模块提供了多种生成随机数组的方法。

常用函数

函数功能示例
np.random.rand()均匀分布随机数np.random.rand(2, 3) → 2x3 均匀分布随机数
np.random.randn()正态分布随机数np.random.randn(2, 3) → 2x3 标准正态分布随机数
np.random.randint()随机整数数组np.random.randint(1, 10, (2, 2)) → 2x2 随机整数数组

示例 1:生成均匀分布随机数

# 生成2x3的均匀分布随机数数组
rand_arr = np.random.rand(2, 3)
print("均匀分布随机数组:")
print(rand_arr)

示例 2:生成正态分布随机数

# 生成2x3的标准正态分布随机数数组
randn_arr = np.random.randn(2, 3)
print("正态分布随机数组:")
print(randn_arr)

示例 3:生成随机整数数组

# 生成2x2的随机整数数组,数值范围[1, 10)
randint_arr = np.random.randint(1, 10, (2, 2))
print("随机整数数组:")
print(randint_arr)

四、ndarray 的基本属性

了解 ndarray 的基本属性对于正确理解和操作数组至关重要。这些属性提供了数组的关键信息,如形状、数据类型、维度等。

4.1 形状相关属性

shape属性:返回一个元组,表示数组的维度大小。对于二维数组,形状元组的第一个元素是行数,第二个是列数。

示例

# 创建不同形状的数组
arr1d = np.array([1, 2, 3, 4, 5])
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
arr3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])# 查看形状
print("一维数组形状:", arr1d.shape)  # 输出:(5,)
print("二维数组形状:", arr2d.shape)  # 输出:(2, 3)
print("三维数组形状:", arr3d.shape)  # 输出:(2, 2, 2)

ndim属性:返回数组的维度数量(轴的个数)。

示例

print("一维数组维度:", arr1d.ndim)  # 输出:1
print("二维数组维度:", arr2d.ndim)  # 输出:2
print("三维数组维度:", arr3d.ndim)  # 输出:3

size属性:返回数组中所有元素的总数。

示例

print("一维数组元素总数:", arr1d.size)  # 输出:5print("二维数组元素总数:", arr2d.size)  # 输出:6print("三维数组元素总数:", arr3d.size)  # 输出:8

4.2 数据类型相关属性

dtype属性:返回数组元素的数据类型。NumPy 支持多种数据类型,包括整数、浮点数、布尔值、复数等。

示例

# 创建不同数据类型的数组
arr_int = np.array([1, 2, 3], dtype=np.int32)
arr_float = np.array([1.0, 2.0, 3.0], dtype=np.float64)
arr_bool = np.array([True, False, True])# 查看数据类型
print("整数数组类型:", arr_int.dtype)  # 输出:int32
print("浮点数组类型:", arr_float.dtype)  # 输出:float64
print("布尔数组类型:", arr_bool.dtype)  # 输出:bool

itemsize属性:返回数组中每个元素占用的字节数。

示例

print("int32数组元素大小:", arr_int.itemsize)  # 输出:4(字节)
print("float64数组元素大小:", arr_float.itemsize)  # 输出:8(字节)
print("bool数组元素大小:", arr_bool.itemsize)  # 输出:1(字节)

nbytes属性:返回数组占用的总字节数,等于size乘以itemsize

示例

print("int32数组总字节数:", arr_int.nbytes)  # 输出:12(3元素 × 4字节)
print("float64数组总字节数:", arr_float.nbytes)  # 输出:24(3元素 × 8字节)

4.3 数组转换与重塑

reshape()方法:返回一个具有新形状的数组视图,而不改变原始数据。

示例

# 创建一维数组
arr = np.arange(12)
print("原始数组:", arr)  # 输出:[0 1 2 3 4 5 6 7 8 9 10 11]# 重塑为3行4列的二维数组
reshaped_arr = arr.reshape(3, 4)
print("重塑后的数组:")
print(reshaped_arr)

ravel()方法:返回一个展平的一维数组。

示例

# 将二维数组展平为一维数组
flattened_arr = reshaped_arr.ravel()
print("展平后的数组:", flattened_arr)  # 输出:[0 1 2 3 4 5 6 7 8 9 10 11]
http://www.dtcms.com/a/458778.html

相关文章:

  • asp.net的网站开发wordpress 模板语言
  • 做照片书的模板下载网站好字体不显示 wordpress
  • 游戏网站建设公司免费的图库网站
  • 【work】yolov11训练与自动标注全过程(以吸烟检测为例子)
  • 主流的自助建站网站wordpress增加产品
  • 个人网站制作模板主页常用设计资源网站
  • 网站进度表如何免费创建一个个人网站
  • 注册网站页面跳转错误有没有99块钱做网站
  • 网站 报价单长春建站塔山双喜
  • jsp网站开发详解平阳住房和城乡建设厅网站
  • 南宁哪里有做网站的公司如何做好网站首页
  • 建设工程查询网站建筑装饰装修工程公司
  • 网页美工设计从入门到精通湖南正规关键词优化报价
  • 第76篇:AI+制造:智能工厂、预测性维护与质量控制
  • 企业网站cms 系统阿里云 建设wordpress
  • 近期做网站需要什么软件做整个网站静态页面多少钱
  • 做网站最低多少钱南昌公司做网站需要多少钱
  • 包头市做网站公司王也的配音员是谁
  • 太原网站制作建设wordpress app下载模板
  • 打造5G智慧园区专网,加速园区数字化升级
  • 网站图标目录wordpress原始密码错误
  • 免费个人网站制作在线广州高端网站制作公司
  • 怎么做门淘宝网站达州建设机械网站
  • 虚拟服务器怎样做网站wordpress 电商网站
  • 在Pandas中可以根据某一列的值生成新的列
  • 高端网站建设1北京网站建设大概需要多少钱
  • 在线制作网站公章怎么做信息流广告代理商
  • 山西省住房和城乡建设厅官方网站广东建设数据开放平台系统
  • 有做国外网站推广吗wordpress如何双语
  • 青岛做网站哪家好怎么样让百度搜到自己的网站