网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > Python >

numpy

时间:2025-06-25 23:14

人气:

作者:admin

标签:

导读:numpy相关 1. 高维ndarray,报错:超出存储,如何解决? ​分块处理:将数据分成较小的块来处理,而不是一次性加载整个数据集。这样可以减少对内存的需求。 使用Dask并行计算库 impor...

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 process_block(block):
    # 在这里对块进行处理
    print(f"Processing block with shape {block.shape}")

# 使用 Dask 计算
data.map_blocks(process_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 process_block(block):
    # 在这里对块进行处理
    print(f"Processing block with shape {block.shape}")

# 使用 Zarr 的块读取
for block in data.iter_chunks():
    process_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. reapeat函数

7. ndarray改变维度

a.reshape()
# 可以将数据的维度变化成想要的维度。
ndarray.reshape(x, y).astype(float)
# 再转为tensor

8. 滑动窗口

slide_arr1 = np.lib.stride_tricks.sliding_window_view(a1, # 原数组 3 # 窗口大小,也可以是元组,如(2,2) )
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信