numpy常用方法总结

这里写自定义目录标题

  • 前言
  • 具体函数:
    • np.zeros()
    • np.sum()
    • np.reshape()
    • np中的转置函数

前言

机器学习中会经常使用numpy下的函数,需要明确方法的功能及使用的注意事项,多练习,才能熟能生巧;

具体函数:

np.zeros()

np.zeros()是numpy库中的一个函数,用于创建指定形状的全零数组。函数语法如下:

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

其中,参数shape表示要创建的数组的形状,可以是一个整数或者一个元组;参数dtype表示数组的数据类型,默认为float;参数order表示数组在内存中的存储顺序,可以是’C’(按行存储)或’F’(按列存储),默认为’C’。

例如,要创建一个2行3列的全零数组,可以使用以下代码:

import numpy as nparr = np.zeros((2, 3))
print(arr)

输出结果为:

[[0. 0. 0.][0. 0. 0.]]

补充:np.ones()和 np.empty()
np.ones()是numpy库中的一个函数,用于创建指定形状的全1数组。np.empty()是numpy库中的一个函数,用于创建指定形状的未初始化的数组,即数组元素的值是随机的。

import numpy as nparr1 = np.ones((2, 3))
print(arr1)
arr2 = np.empty((2, 3))
print(arr2)

输出结果为:

[[1. 1. 1.][1. 1. 1.]][[1. 2. 3.][4. 5. 6.]]

np.sum()

np.sum()是numpy库中的一个函数,用于计算数组中元素的总和。函数语法如下:

numpy.sum(a, axis=None, dtype=None, keepdims=False)

其中,参数a表示要计算总和的数组;参数axis表示计算总和的轴向,可以是一个整数、一个元组或者None,默认为None,表示计算所有元素的总和;参数dtype表示输出结果的数据类型;参数keepdims表示是否保留每个轴的维度,保留则为True,不保留则为False,默认为False。如果使用np.sum()函数计算每一列的总和,可以将axis参数设置为0,如果计算每一行的总和,可以将axis参数设置为1,需要注意keepdims为true和false的区别。

例如,要计算一个2行3列的数组的总和,可以使用以下代码:

import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])
sum1 = np.sum(arr)
print(sum1)
sum2 = np.sum(arr,0)
print(sum2)
sum3 = np.sum(arr,1)
print(sum3)
row_sum = np.sum(arr, axis=1, keepdims=True)
print(row_sum)

输出结果为:

21
[5 7 9]
[ 6 15]
[[ 6]  [15]]

np.reshape()

np.reshape()是numpy库中的一个函数,用于改变数组的形状,即将一个数组调整为指定的形状。函数语法如下:

numpy.reshape(a, newshape, order='C')

其中,参数a表示要改变形状的数组;参数newshape表示新的形状,可以是一个整数或者一个元组;参数order表示在内存中的存储顺序,可以是’C’(按行存储)或’F’(按列存储),默认为’C’。

例如,假设有一个一维数组arr,可以使用以下代码将其转换为3行2列的二维数组:

import numpy as nparr = np.array([1, 2, 3, 4, 5, 6])
arr1 = np.array([[1, 2], [3, 4], [5, 6]])
new_arr = np.reshape(arr, (3, 2))
new_arr1 = np.reshape(arr, (-1, 1))
new_arr2 = np.reshape(arr, (2, 3))
print(new_arr)
print(new_arr1)
print(new_arr2)

输出结果为:

[[1 2][3 4][5 6]]
[[1][2][3][4][5][6]]
[[1 2 3][4 5 6]]

np中的转置函数

在numpy中,可以使用以下两种方式对数组进行转置:

np.transpose()函数:该函数用于对数组进行转置,返回转置后的新数组。函数语法如下:

numpy.transpose(a, axes=None)

其中,参数a表示要进行转置的数组;参数axes用于指定转置后数组的轴的顺序,默认为None,表示将所有轴反转。

例如,对于一个2行3列的数组arr,可以使用以下代码进行转置:

import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])
transpose_arr = np.transpose(arr)
print(transpose_arr)

输出结果为:

[[1 4][2 5][3 6]]

.T属性:该属性用于对数组进行转置,返回转置后的新数组。可以看作是np.transpose()函数的简写形式。例如,对于一个2行3列的数组arr,可以使用以下代码进行转置:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
transpose_arr = arr.T
print(transpose_arr)
输出结果为:

[[1 4]
[2 5]
[3 6]]
需要注意的是,这两种方式都返回一个新的数组,原始数组并没有被改变。如果需要在原始数组上进行操作,可以使用arr.T或np.transpose(arr)进行赋值操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/140721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Transformer从零开始代码实现 pytoch版】(五)总架构类的实现

Transformer总架构 在实现完输入部分、编码器、解码器和输出部分之后,就可以封装各个部件为一个完整的实体类了。 【Transformer从零开始代码实现 pytoch版】(一)输入部件:embeddingpositionalEncoding 【Transformer从零开始代…

Spring boot 整合elasticsearch

文章目录 初始化RestClient 初始化RestClient 在elasticsearch提供的API中,与elasticsearch一切交互都封装在一个名为RestHighLevelClient的类中,必须先完成这个对象的初始化,建立与elasticsearch的连接。 分为三步: 1&#xf…

CMT2300A超低功耗127-1020MHz Sub-1GHz全频段SUB-1G 射频收发芯片

CMT2300A超低功耗127-1020MHz Sub-1GHz全频段SUB-1G 射频收发芯片 Sub-1GHz,是指小于1GHz频率的统称。Sub-1GHz无线电频段应用的主要特点:(1)频率较低波长较长,传输距离远,穿透性强;&#xff0…

xinput1_3.dll丢失的详细解决步骤办法和比较,五种有效的解决办法

今天想和大家分享一个电脑中经常出现的问题——xinput1_3.dll丢失。这个文件丢失是一件常见的问题。不知道小伙伴们有没有遇到过这样的问题,如果你遇到这样的问题今天就教大家xinput1_3.dll丢失的详细解决步骤办法和比较,五种有效的解决办法。 一.xinput…

YOLOv5 分类模型的后处理

YOLOv5 分类模型的后处理 flyfish 简化源码测试 import torch import numpy as np from torchvision import transforms import torch.nn.functional as Fdata0 np.random.random((1, 7)) data0 np.round(data0,7) print(data0.shape) print(data0) data1 torch.from_n…

力扣labuladong一刷day7共3题

力扣labuladong一刷day7共3题 文章目录 力扣labuladong一刷day7共3题一、216. 组合总和 III二、111. 二叉树的最小深度三、752. 打开转盘锁 一、216. 组合总和 III 题目链接:https://leetcode.cn/problems/combination-sum-iii/ 思路:还是组合只是既有n…

【Axure高保真原型】树切换动态面板案例

今天和大家分享树切换动态面板的原型模板,点击树的箭头可以打开或者收起子节点,点击最后一级人物节点,可以切换右侧面板的状态到对应的页面,左侧的树是通过中继器制作的,使用简单,只需要按要求填写中继器表…

各种ui框架的 form校验 validator获取不到value

// form-item 配置prop prop"user.name" // rules rules: {user.name: [message: "xxxxx",validator(rule, val, callback) {// val 就是user.name的值},] }如: 对象的sysUser.userName <n-form ref"formRefuser" :model"modelUser&qu…

浅谈jvm

前置知识补充 JDK、JRE、JVM是什么&#xff1f;区别与联系&#xff1f; 区别&#xff1a; JDK&#xff08;Java Development Kit&#xff09;&#xff1a;Java开发工具包 主要包括 Java运行环境、Java基础库及 Java工具。 JRE&#xff08;Java Runtime Environment&#xf…

selenium基本使用、无头浏览器(chrome、FireFox)、搜索标签

selenium基本使用 这个模块&#xff1a;既能发请求&#xff0c;又能解析&#xff0c;还能执行js selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行 JavaScript代码的问题 selenium 会做web方向的自动化测试appnium 会做 app方向的自动化…

使用迁移学习在线校准深度学习模型

使用迁移学习在线校准深度学习模型 本文参考的是2023年发表于Engineering Applications of Artificial Intelligence, EAAI的Deep Gaussian mixture adaptive network for robust soft sensor modeling with a closed-loop calibration mechanism 1. 动机 概念漂移导致历史训…

SpringBoot--中间件技术-1:任务管理,异步任务,任务调度,发邮件Mail的实现,含代码

SpringBoot中的事务管理 关键注解&#xff1a; 设置事务&#xff08;声明事务管理&#xff09;&#xff0c;写在业务层的方法上&#xff1a; Transactional(isolation Isolation.DEFAULT) Transactional(propagation Propagation.REQUIRED) 开启事务&#xff0c;设置在启动…

# Oracle 库常见问题排查

Oracle 库常见问题排查 文章目录 Oracle 库常见问题排查查询数据库的相关信息查看正在执行的语句杀掉正在执行的sql查看未提交的事务查看锁表 查询数据库的相关信息 查看正在执行的语句 SELECT s.sid, s.serial#, s.username, s.status, s.sql_id, s.sql_child_number, sq.sq…

React 共享组件状态及其实践

React 是一个强大的JavaScript库&#xff0c;它提供了一种简单的方式来构建用户界面。然而&#xff0c;随着应用规模的增长&#xff0c;状态管理成为一个复杂的问题。本篇文章将深入探讨如何在React组件之间共享状态。 状态提升 首先&#xff0c;我们来谈谈"状态提升&qu…

完全免费!超好用的IDEA插件推荐:Apipost-Helper

Idea 是一款功能强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;它可以帮助开发人员更加高效地编写、调试和部署软件应用程序,Idea 还具有许多插件和扩展&#xff0c;可以根据开发人员的需要进行定制和扩展&#xff0c;从而提高开发效率,今天我们就来介绍一款国产的…

使用Java实现一个简单的贪吃蛇小游戏

一. 准备工作 首先获取贪吃蛇小游戏所需要的头部、身体、食物以及贪吃蛇标题等图片。 然后&#xff0c;创建贪吃蛇游戏的Java项目命名为snake_game&#xff0c;并在这个项目里创建一个文件夹命名为images&#xff0c;将图片素材导入文件夹。 再在src文件下创建两个包&#xff0…

正点原子嵌入式linux驱动开发——Linux DAC驱动

上一篇笔记中学习了ADC驱动&#xff0c;STM32MP157 也有DAC外设&#xff0c;DAC也使用的IIO驱动框架。本章就来学习一下如下在Linux下使用STM32MP157上的DAC。 DAC简介 ADC是模数转换器&#xff0c;负责将外界的模拟信号转换为数字信号。DAC刚好相反&#xff0c;是数模转换器…

在node中实现高效率、低内存的excel/JSON转换

在node中实现高效率、低内存的excel/JSON转换 在nodejs中不使用过多内存的情况下&#xff0c;将大型excel文件转换为json格式是一个非常常见的需求&#xff0c;因为它可以更容易地处理和共享数据。在这篇文章中&#xff0c;我们将探讨如何完成这个需求&#xff0c;提供一个逐步…

Mac电脑Visio文件编辑查看软件推荐Visio Viewer for Mac

mac版Visio Viewer功能特色 在Mac OS X上查看Visio绘图和图表 在Mac OS X上轻松查看MS Visio文件 在Mac上快速方便地打开并阅读Visio文件&#xff08;.vsd&#xff0c;.vsdx&#xff09;。 支持通过放大&#xff0c;缩小&#xff0c;旋转&#xff0c;文本选择和复制&#xff0…

群晖Docker(Container Manager)中安装Home Assistant Container

群晖Docker&#xff08;Container Manager&#xff09;中安装Home Assistant Container 不要使用 套件里面的 Home Assistant&#xff0c;不利于后期拓展 方式一&#xff1a; docker run -d --name"home-assistant-1" -v /volume1/docker/homeassistant/config:/c…