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

朝阳网站开发联系电话百度云引擎搜索

朝阳网站开发联系电话,百度云引擎搜索,科郑州网站建设,乐器销售网站模板- 第 104 篇 - Date: 2025 - 06 - 05 Author: 郑龙浩/仟墨 NumPy 函数与方法全集 文章目录 NumPy 函数与方法全集1. 数组创建与初始化基础创建序列生成特殊数组 2. 数组操作形状操作合并与分割 3. 数学运算基础运算统计运算 4. 随机数生成基础随机分布函数 5. 文件IO文件读写 …

- 第 104 篇 -
Date: 2025 - 06 - 05
Author: 郑龙浩/仟墨

NumPy 函数与方法全集

文章目录

  • NumPy 函数与方法全集
    • 1. 数组创建与初始化
      • 基础创建
      • 序列生成
      • 特殊数组
    • 2. 数组操作
      • 形状操作
      • 合并与分割
    • 3. 数学运算
      • 基础运算
      • 统计运算
    • 4. 随机数生成
      • 基础随机
      • 分布函数
    • 5. 文件IO
      • 文件读写

1. 数组创建与初始化

基础创建

创建数组

  • np.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)

    将Python序列转换为ndarray数组,默认创建副本

    • dtype:指定数组数据类型
    • copy:是否创建副本(默认为True)
    • ndmin:指定最小维度数
np.array([1, 2, 3])  # 一维数组
np.array([[1, 2], [3, 4]])  # 二维数组
np.array([1, 2, 3], dtype=float)  # 指定float类型
  • np.asarray(a, dtype=None, order=None)

    将输入转换为数组,如果输入已经是数组且满足要求则不创建副本

    • np.array更高效,适合确保输入为数组的场景
arr = np.array([1, 2, 3])
np.asarray(arr) is arr  # True,不创建副本
np.asarray([1, 2, 3])  # 转换列表为数组

序列生成

生成数值序列

  • np.arange([start,] stop, [step,], dtype=None)

    创建等差序列数组

    • start:起始值(默认为0)
    • stop:结束值(不包含)
    • step:步长(默认为1)
np.arange(5)  # [0, 1, 2, 3, 4]
np.arange(1, 10, 2)  # [1, 3, 5, 7, 9]
np.arange(0, 1, 0.1)  # [0.0, 0.1, ..., 0.9]
np.arange(, 10, 2)  # [0, 2, 4, 6, 8]
  • np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

    创建等间隔数列

    • num:生成样本数
    • endpoint:是否包含结束值
    • retstep:是否返回步长
np.linspace(0, 1, 5)  # [0.0, 0.25, 0.5, 0.75, 1.0]
np.linspace(0, 1, 5, endpoint=False)  # [0.0, 0.2, 0.4, 0.6, 0.8]

特殊数组

创建特殊值数组

  • np.zeros(shape, dtype=float, order='C')

    创建全0数组

    • shape:数组形状(整数或元组)
    • type=float:默认为float,可以设置其他类型,如int
    • order='C' 表示数组按 行优先 存储,order='F'列优先 –> 了解即可
np.zeros(3)  # [0., 0., 0.]
np.zeros((2, 3))  # 2行3列全0数组
np.zeros((2, 3), dtype=int)  # 整数型全0数组
  • np.ones(shape, dtype=None, order='C')

    创建全1数组

    • dtype=None 时,NumPy 会使用浮点数类型 float64 作为默认类型
np.ones(4)  # [1., 1., 1., 1.]
np.ones((2, 2), dtype=bool)  # [[True, True], [True, True]]
  • np.empty(shape, dtype=float, order='C')

    创建未初始化数组

    • 内容为内存中的随机值,比zeros更快
np.empty(3)  # 内容不确定
np.empty((2, 2))  # 2x2未初始化数组

2. 数组操作

形状操作

改变数组形状

  • ndarray.reshape(shape, order='C')

    返回新形状数组,不改变原数据

    • shape:新形状,可以使用-1自动计算维度

      其中,如果列数为-1,则表示自动计算列数

    • order:'C’按行,'F’按列

arr = np.arange(1, 7) #[1, 2, 3, 4, 5, 6]
arr.reshape(2, 3)  # [[1, 2, 3], [4, 5, 6]]
arr.reshape(3, -1)  # 自动计算列数
arr.reshape(3, -1, order='C') # order='C',可写可不写
  • ndarray.resize(new_shape, refcheck=True)

    原地修改数组形状

    • 与reshape不同,会直接修改原数组
    • 新数组大于原数组时填充0,小于则截断
arr = np.array([1, 2, 3])
arr.resize(2, 2)  # [[1, 2], [3, 0]]

合并与分割

数组组合操作

  • np.concatenate((a1, a2, ...), axis=0, out=None)

    沿现有轴连接数组序列

    • axis:连接的轴向(0为行,1为列) –> 0为第一个轴(垂直方向),1为第二个轴(水平方向)
a = np.array([[1, 2],[3, 4]])
b = np.array([[5, 6],[7, 8]])
print(f'a尺寸:{a.shape}, b尺寸:{b.shape}')
print(np.concatenate((a, b)))  # [1, 2, 3, 4]
arr1 = np.concatenate((a, b), axis=0) # 按列拼接
print(f'按行拼接:\n{arr1}\n数组尺寸:{arr1.shape}\n')
arr2 = np.concatenate((a, b), axis=1) # 按行拼接
print(f'按列拼接:\n{arr2}\n数组尺寸:{arr2.shape}')#打印结果a尺寸:(2, 2), b尺寸:(2, 2)
[[1 2][3 4][5 6][7 8]]
按行拼接:
[[1 2][3 4][5 6][7 8]]
数组尺寸:(4, 2)按列拼接:
[[1 2 5 6][3 4 7 8]]
数组尺寸:(2, 4)
a尺寸:(2, 2), b尺寸:(2, 2)
[[1 2][3 4][5 6][7 8]]
按行拼接:
[[1 2][3 4][5 6][7 8]]
数组尺寸:(4, 2)按列拼接:
[[1 2 5 6][3 4 7 8]]
数组尺寸:(2, 4)
  • np.vstack(tup) / np.hstack(tup)

    垂直/水平堆叠数组

np.vstack((a, b))  # [[1, 2], [3, 4]]
np.hstack((a, b))  # [1, 2, 3, 4]

3. 数学运算

基础运算

基本数学运算

  • np.add(x1, x2, /, out=None, *, where=True)

    数组元素相加

np.add([1, 2], [3, 4])  # [4, 6]
  • np.multiply(x1, x2, /, out=None, *, where=True)

    数组元素相乘

np.multiply([1, 2], [3, 4])  # [3, 8]

统计运算

统计计算方法

  • np.sum(a, axis=None, dtype=None, out=None, keepdims=False)

    计算数组元素和

    • axis:沿指定轴计算(None表示全部元素)
arr = np.array([[1, 2], [3, 4]])
print(np.sum(arr))  # 10
print(np.sum(arr, axis=None))  # 10
print(np.sum(arr, axis=0))  # [4, 6] (列间求和)
print(np.sum(arr, axis=1))  # [4, 6] (行间求和)
  • np.mean(a, axis=None, dtype=None, out=None, keepdims=False)

    计算平均值

np.mean([1, 2, 3])  # 2.0
np.mean(arr, axis=1)  # [1.5, 3.5] (行间平均)

4. 随机数生成

基础随机

随机数生成

  • np.random.rand(d0, d1, ..., dn)

    生成[0,1)均匀分布随机数

np.random.rand()  # 单个随机数
np.random.rand(2, 3)  # 2x3随机数组
  • np.random.randint(low, high=None, size=None, dtype='l')

    生成随机整数

    • size:输出形状
np.random.randint(5)  # 0-4随机整数
np.random.randint(1, 10, size=(2, 2))  # 2x2的1-9随机数组

分布函数

概率分布随机数

  • np.random.normal(loc=0.0, scale=1.0, size=None)

    正态分布随机数

    • loc:均值
    • scale:标准差
np.random.normal(0, 1, 3)  # 3个标准正态随机数
  • np.random.uniform(low=0.0, high=1.0, size=None)

    均匀分布随机数

np.random.uniform(1, 5, 3)  # 3个1-5均匀分布数

5. 文件IO

文件读写

数组文件操作

  • np.save(file, arr, allow_pickle=True, fix_imports=True)

    保存数组为.npy文件

arr = np.array([1, 2, 3])
np.save('data.npy', arr)
  • np.load(file, mmap_mode=None, allow_pickle=False, fix_imports=True, encoding='ASCII')

    加载.npy文件

loaded_arr = np.load('data.npy')
http://www.dtcms.com/wzjs/328790.html

相关文章:

  • 哪方面网站搜狐财经峰会直播
  • 网站简繁体转换 js关键词排名优化营销推广
  • php网站开发实例教程 源码全国互联网营销大赛官网
  • 怎么用网站做远控网络推广网站程序
  • 网站如何做百度搜索优化整合营销沟通
  • 可以做视频剪辑兼职的网站百度上海总部
  • 用asp做网站span友情链接推广
  • 网站建设费用有哪些长沙seo网站管理
  • wordpress响应式主题制作教程seo站长常用工具
  • 做网站的工作好做吗网络营销公司简介
  • 大江网站建设网站优化内容
  • 拉萨融媒app下载最新黑帽seo培训
  • 网站建设学院网络推广教程
  • 2024湖南新冠病毒最新消息武汉seo网站优化运营
  • 做网站搞流量挂联盟广告变现哪些行业适合做网络推广
  • flash型网站网站提交收录入口
  • 北京做网站好公司全达seo
  • seo费用谷歌seo快速排名软件首页
  • 学院网站建设成果在线建站平台免费建网站
  • 欧美顶级ppt免费模板网站seo sem推广
  • 营销型网站设计特点余姚网站制作公司
  • 兼职网网站建设方案建议书淘宝怎么优化关键词步骤
  • 企业网站建设组织人员可行性分析我想在百度上做广告怎么做
  • 交友网站免费建设黄冈地区免费网站推广平台
  • 做网站在哪里添加关键词深圳推广平台深圳网络推广
  • 广州市网站设计广州网站设计实力乐云seo
  • 怎样自己做网站卖钱企业邮箱登录
  • 中国建设银行理财网站网站seo关键词
  • 网站建设包括哪些内容网络营销的种类
  • 网站活动专题页面设计seo优化多少钱