解码numpy的独特魅力

1. 高维ndarray超出存储的应对之策

将数据分割成较小的单元来处理,而非一次性把全部数据集载入。如此操作能削减对内存的占用量。

运用Dask并行计算工具

import dask.array as da

# 构建一个 Dask 数组
data = da.random.random((5, 50, 300, 100, 30, 49), chunks=(1, 10, 100, 50, 10, 10))

# 对每个块开展处理
def handle_block(block):
    # 在此处对块进行处理
    print(f"正在处理形状为 {block.shape} 的块")

# 借助 Dask 进行计算
data.map_blocks(handle_block).compute()

运用Zarr

import zarr
import numpy as np

# 创建一个 Zarr 数组
data = zarr.zeros((5, 50, 300, 100, 30, 49), chunks=(1, 10, 100, 50, 10, 10), dtype=np.float64)

# 对每个块进行处理
def deal_with_block(block):
    # 在此处对块进行处理
    print(f"处理形状为 {block.shape} 的块")

# 采用 Zarr 的块读取方式
for block in data.iter_chunks():
    deal_with_block(block)

2. 随机数的生成

# linspace
x1 = np.linspace(4, 13, sample_num)  # 生成4到13范围内含sample_num个随机数的序列

# random.randint
np.random.randint(0, m, 1)  # 获取0到m范围内的1个整数

3. ndarray的拼接

x = np.concatenate(([x1], [x2]), axis=0) 

4. dot函数的使用

np.dot(a,b)  # 对矩阵a和矩阵b进行点乘运算

5. 数组多维转一维的方法

ravel()flatten()squeeze()这几种方法。ravel():一般不会生成源数据的副本;flatten():会返回源数据的副本;squeeze():只能对维度为1的维度进行降维处理。

6. repeat函数

7. ndarray维度的改变

a.reshape()
# 能够把数据的维度转换成所需的维度。
ndarray.reshape(x, y).astype(float)
# 接着转为tensor

8. 滑动窗口的构建

slide_arr1 = np.lib.stride_tricks.sliding_window_view(a1, 3)  # 原数组,3是窗口大小,也能是元组,比如(2,2)

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12903.html

(0)
LomuLomu
上一篇 2025 年 7 月 20 日
下一篇 2025 年 7 月 20 日

相关推荐

  • PostgreSQL 初始化配置设置

    title: PostgreSQL 初始化配置设置date: 2024/12/27updated: 2024/12/27author: cmdragon excerpt:PostgreSQL是一款广泛应用于企业级应用、数据仓库以及Web应用程序的强大数据库管理系统。在完成数据库的安装后,进行合理而有效的初始配置是确保数据库性能和安全性的关键步骤。Postgr…

    2024 年 12 月 31 日
    33100
  • Java Spring与Struts2框架安全漏洞深度解析

    三、Java Spring框架安全风险剖析 3.1 Spring核心组件与SpEL机制 ①框架概述作为企业级应用开发的基石,Spring Framework通过模块化设计显著提升了软件开发效率。其核心功能涵盖依赖注入(IoC)、面向切面编程(AOP)和模型-视图-控制器(MVC)架构,同时整合了数据访问、Web服务等关键模块。自3.0版本起,SpEL表达式引…

    2025 年 5 月 18 日
    16500
  • 2024 IDEA最新激活码,IDEA永久免费激活码2025-01-01 更新

    IDEA 2024最新激活码 以下是最新的IDEA激活码,更新时间:2025-01-01 🔑 激活码使用说明 1️⃣ 复制下方激活码 2️⃣ 打开 IDEA 软件 3️⃣ 在菜单栏中选择 Help -> Register 4️⃣ 选择 Activation Code 5️⃣ 粘贴激活码,点击 Activate ⚠️ 必看!必看! 🔥 获取最新激活码: 实时更…

    2025 年 1 月 1 日
    77500
  • 抓取爱奇艺电影排行数据

    实验阐述: 代码对爱奇艺的多个榜单图片以及榜单相关信息进行了抓取操作。由于爱奇艺的数据呈现特性,电影榜的前一百名是通过获取json文件来开展爬取工作的,而电影榜单的前二十五名则是从HTML文件中进行爬取获取。代码具备数据结构的规划以及模块的划分情况。 代码示例: “`pythonimport osimport jsonimport requestsfrom…

    2025 年 7 月 20 日
    7200
  • Java与高德地图WebAPI整合开发指南——POI搜索2.0功能实现详解

    目录背景概述第一部分:高德地图搜索服务解析1.1 高德开发者平台概览1.2 搜索服务特性说明1.3 核心接口参数解析第二部分:Uniapi框架整合方案2.1 服务接入完整流程2.2 接口定义规范2.3 实际业务应用第三部分:疑难问题解决方案第四部分:技术总结 背景概述 在移动互联网蓬勃发展的今天,基于位置的服务(LBS)已成为各类应用不可或缺的功能模块。作为…

    2025 年 5 月 15 日
    28500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信