Numpy数值计算

目录

1 ndarray创建方法

1.1 创建ndarray

1.2 ndarray常用属性:

1.3 代码测试如下:

1.4 其他函数创建ndarray

1.5 生成随机数的ndarray

​1.6 代码演示如下:

 2 ndarray的基础操作

2.1 变换ndarray的形态 

2.2 展平ndarray 

2.3 组合ndarray 

​2.4 分割ndarray

2.5 未完待续......


Numpy提供了两种基本对象,即ndarray对象和ufunc对象。

1 ndarray创建方法

1.1 创建ndarray

NumPy 提供了多种创建 ndarray 的方式,其中 array 函数可以创建一维或多维 ndarray ,其基本语法格式如下。
numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)
array 函数的常用参数说明:
参数名称说明
object

接收arraylisttuple等。表示用于创建ndarray的数据。无默认值

dtype

接收data-type。表示创建的ndarray的数据类型。如果未给定,那么选择保存对象所需的最小字节数的数据类型。无默认值

ndmin

接收int。指定生成ndarray应该具有的最小维数。默认为0

1.2 ndarray常用属性:

属性说明
ndim

返回int。表示ndarray的维数

shape

返回tuple。表示ndarray的尺寸,对于nm列的矩阵,形状将为(nm

size

返回int。表示ndarray的元素总数,这等于形状元素的乘积

dtype

返回data-type。描述ndarray中元素类型的对象

itemsize

返回int。表示ndarray的每个元素的大小(以字节为单位)。例如,数据类型float64具有itemsize 8= 64/8),数据类型的一个complex32具有itemsize 4= 32/8)。相当于ndarray.dtype.itemsize

1.3 代码测试如下:

import numpy as np
arr1 = np.array([1,2,3,4])
print('创建一维ndarray:',arr1)
arr2 = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print('创建二维ndarray:\n',arr2)
print('arr2的维数:',arr2.ndim)
print('arr2的形状:',arr2.shape)
print('arr2的元素个数:',arr2.size)
print('arr2的数据类型:',arr2.dtype)
print('arr2的每个元素大小:',arr2.itemsize)

运行结果截图:

1.4 其他函数创建ndarray

array 函数创建 ndarray 虽然通用,但并不方便。针对一些特殊的 ndarray NumPy 提供了其他的 ndarray 创建函数,如 下表 所示。
函数说明
arange

创建等差数列(指定开始值,终值和步长)

linspace

创建等差数列(指定开始值,终值和元素个数)

logspcae

创建等比数列

zeros

创建值全部为0的矩阵

eye

创建单位矩阵(对角线元素为1,其余为0

diag

创建对角矩阵(对角线元素为指定值,其余为0

ones

创建值全部为1的矩阵

1.5 生成随机数的ndarray

 1.6 代码演示如下:

import numpy as np
# 设置随机数种子  23无具体含义 仅代表seed分类
np.random.seed(23)
arr = np.random.randint(1,10,size= 12).reshape(3,4)
print('创建随机数ndarray  arr为:\n',arr)

 

 2 ndarray的基础操作

2.1 变换ndarray的形态 

  • reshape方法:原来ndarry不变。
import numpy as np
arr= np.arange(12)
print('创建的一维ndarray arr为:',arr)
arr1 = arr.reshape(3,4)
print('reshape方法执行完毕后 arr为:',arr)
print('reshape方法执行完毕后 arr1为:\n',arr1)

 

  • resize方法:直接作用于所操作的ndarray。  
import numpy as np
arr= np.arange(12)
print('创建的一维ndarray arr为:',arr)
arr.resize(3,4)
print('resize方法执行完毕后 arr为:\n',arr)

 

2.2 展平ndarray 

展平是指将多维ndarray转换成一维ndarray的操作过程,似乎一种特殊的ndarray形状变换。

  • ravel方法

  • flatten方法  可以选择横向或者纵向展平。

2.3 组合ndarray 

  •  hstack函数:横向组合

  • vstack函数:纵向组合

  • dstack函数:深度组合

 2.4 分割ndarray

  • hsplit函数:横向分割(按列分割,只适用于均等拆分) 
  • vsplit函数:纵向分割(按列分割,只适用于均等拆分) 
  • dsplit函数:深度分割(分割的ndarray必须是三维ndarry,且分割的数目必须为shape属性中下表为2的值得公约数)

2.5 未完待续......

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

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

相关文章

IDEA JAVA Spring Boot运行Hello World(1.8)

参考资料: Spring Boot运行Hello World - 知乎https://blog.csdn.net/weixin_44005516/article/details/108293228(解决bug)SpringBoot入门第一章:Hello World-java教程-PHP中文网 (仅参考如何运行程序)java 8安装教程 java 8安装教程_java8安装-CSDN博…

我的2023

哈喽大家好,我是咸鱼。 果然出来工作后地球转速加快是正常现象,不知不觉 2023 年就结束了,我到现在都有种昨天刚过完 2023 年春节的恍惚。 工作时长已有一年多,刚开始接触工作的时候,有许多工作上的东西能够让我去学…

关于Python里xlwings库对Excel表格的操作(三十)

这篇小笔记主要记录如何【如何使用“Chart类”、“Api类"和“Axes函数”为新图表设置标题文本内容、字体、字号、粗细、正斜、颜色、坐标轴主要网格线】。前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】…

各章练习题解析

目录 第1章 EDIT模型概述 题目 解析 第1章 EDIT模型概述 题目 第1题 第2题

cnPuTTY 0.80.0.1—PuTTY Release 0.80中文版本简单说明~~

2023-12-18 官方发布了PuTTY 0.80本次发布主要是针对Terrapin攻击(CVE-2023-48795)的修改发布。 更多详细的内容请查看PuTTY Change Log。 有关Terrapin攻击可用简单参考:警告!!!Terrapin攻击(CVE-2023-48795)~~~ 为了缓解此漏洞…

Transformer从菜鸟到新手(二)

引言 这是Transformer的第二篇文章,上篇文章中我们了解了分词算法BPE,本文我们继续了解Transformer中的位置编码和核心模块——多头注意力。 位置编码 我们首先根据BPE算法得到文本切分后的子词标记,然后经过输入嵌入层将每个标记转换为对…

二级医院、专科医院his系统源码,java语言开发,系统运行稳定、功能齐全

二级医院、专科医院his系统源码,java语言开发 基于云计算技术的B/S架构的HIS系统,为医疗机构提供标准化的、信息化的、可共享的医疗信息管理系统,实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。 系统利用云计算平台的技术优…

[排序算法] 如何解决快速排序效率低的问题------三路划分

前言 在[C/C]排序算法 快速排序 (递归与非递归)一文中,对于快速排序的单趟排序一共讲了三种方法: hoare、挖坑法、双指针法 ,这三种方法实现的快速排序虽然在一般情况下效率很高,但是如果待排序数据存在大量重复数据,那这几种方法的效率就很低,而为了解决快速排序在这样特殊情况…

客服系统接入FastGPT

接入FastGPT 点击【应用】【外部使用】【API访问】【新建】新建一个KEY,同时也可以看到我们的API根地址 这个根地址和Key可以填入任何支持OpenAI接口的应用里,这个接口是兼容OpenAI格式。 在客服系统【知识库AI配置】里填上接口地址和接口密钥。这样我…

Shell:计算时间差 显示时分秒

1. 获取开始、结束时间(获取当前时间) start_timedate "%Y-%m-%d %H:%M:%S" end_timedate "%Y-%m-%d %H:%M:%S" 2. 计算时间差 durationecho $(($(date %s -d "${end_time}") - $(date %s -d "${start_time}"))…

Document对象详解

前言 在前端开发中,DOM(文档对象模型)扮演着重要的角色。它允许我们使用JavaScript来与网页文档进行交互,实现动态的网页效果。DOM的核心部分之一就是Document对象,它代表了整个HTML文档。在本篇博客中,我们…

cpolar-内网穿透

目录 一、打开网址注册账号 二、下载客户端 三、创建 四、测试 一、打开网址注册账号 coplar官网 二、下载客户端 登录成功后会跳转该页面 三、创建 双击打开 设置名称、要投射的本地端口号、默认为http协议 点击隧道列表,然后点击启动 选择公网地址就可以访问…