【numpy模块上}——数据分析01

news2024/11/16 3:40:41

目录索引

  • ==介绍:==
  • 用处与特点:
  • 构成:
  • ==导包:==
    • 创建数组:
  • ==numpy常用方法:==
    • 常用属性查看:
      • *获取秩的大小:*
      • *获取数组形状:*
      • *获取元素个数:*
      • *获取元素类型:*
      • *获取占用字节数:*
      • *制定数据类型:*
    • 创建数组的常用方法:
      • *arange():*
      • *linspace():*
      • *ones():*
      • *zeros():*
      • *full():*
      • *eye():*
      • *random.rand():*
        • 不写参数:
        • 二维:
        • 三维:
        • 随机值范围为a-b:
  • ==numpy中支持的数值型的数据类型:==

介绍:

numpy就是一个便于科学计算的第三方库,常运用于数据分析和大量运算。比如矩阵等…

在这里插入图片描述

用处与特点:

  • 提供了n维数组(ndarray)
  • 数组由同质元素(相同的元素类型)构成,且元素数量(几行几列)是事先定好的。

构成:

  1. 轴(axes):类似于x轴、y轴。如图就是两个轴,第0轴和第1轴(轴从0开始数)
    在这里插入图片描述
  2. 秩(rank,用ndim属性来获取)——:就是数组的维数,也是轴的数量(从1开始数)
  3. 大小(size):数组中元素的个数
  4. 形状(shape):就是数组有几行几列
  5. 类型(dtype):数组中元素的类型
  6. 元素大小(itemsize):数组中单个元素占用的字节数

在这里插入图片描述

对于多维数组的理解:用串糖葫芦来理解,二维数组的一个轴每穿过一个元素都是一维数组。
三维数组的一个轴每穿过一个元素都是二维数组。
那么四维数组的一个轴每闯过一个轴都是三维数组。同理类推...
在python的语法中,方括号中每一个元素是n维数组,它就是n+1维数组

导包:

一般都会对numpy库进行更名处理,便于之后使用

import numpy as np

创建数组:

语法:

"""
注意:括号里面还要用中括号,因为至少是一个一维数组。中括号里面每一个元素由n维数组构成,
它就是n+1维数组。别忘了最外层永远有一个中括号
"""
变量名 = np.array([])

演示:

arr = np.array([1,2,3])
arr1 = np.array([[1,2,3],[4,5,6]])#创建二维数组,每一个元素都是一维数组,所以它创建的就是二维数组

numpy常用方法:

常用属性查看:

arr = np.array([[1,2,3],[4,5,6]])

获取秩的大小:

通过数组的ndim属性来获取秩的大小

print(arr.ndim) #2

获取数组形状:

通过数组的shape属性来获取形状

print(arr.shape) #(2, 3)

获取元素个数:

通过数组的size属性来获取元素个数

print(arr.size) #6

获取元素类型:

通过dtype属性来获取元素类型

print(arr.dtype) #int32

获取占用字节数:

通过数组的itemsize属性来获取单个元素的占用字节数

print(arr.itemsize) #4

制定数据类型:

在括号里面添加dtype属性,注意等于的后面更改属性也要加上np.

arr1 = np.array([[6,7,8],[9,10,11]],dtype=np.int64) #指定类型

创建数组的常用方法:

arange():

可以类比于range()函数,不同的是arange()支持浮点数。第一个参数是起始值,第二个参数是终止值(不包括),第三个参数是步长

实例演示:

import numpy as np
arr = np.arange(1,10,2)
arr1 = np.arange(10.0)
arr2 = np.arange(5)
print(arr)
print(arr1)
print(arr2)

在这里插入图片描述

linspace():

可以创建均分的数组,默认包含终止值,第三个参数不是步长而是最终分割成的个数,可以是浮点数

实例演示:

import numpy as np
#把从1到10的数据之间分割成n份
arr = np.linspace(1,10,3)#分成三份
arr2 = np.linspace(1,10,7)#分成七份
arr3 = np.linspace(1,10,20)#分成二十份
print(arr)
print(arr2)
print(arr3)

在这里插入图片描述

ones():

用来创建全是1的数组,括号里写的是数组的形状,默认支持浮点数

实例演示:

import numpy as np
arr = np.ones(5)
arr1 = np.ones((2,3))#别忘了数组的形状要用小括号包裹
print(arr)
print(arr1)

在这里插入图片描述

zeros():

用来创建全是0的数组,括号里写的是数组的形状,默认支持浮点数

实例演示:

import numpy as np
arr = np.zeros(5)
arr1 = np.zeros((2,3))#别忘了数组的形状要用小括号包裹
print(arr)
print(arr1)

full():

用来创建全是指定参数的数组,第一个参数写的是数组的形状,第二个参数写的是指定数默认支持浮点数

实例演示:

import numpy as np
arr = np.full((2,3),9)
arr1 = np.full((4,7),3.3)
print(arr)
print(arr1)

在这里插入图片描述

eye():

用来创建N行M列的单位数组,M省略时创建N行N列的单位数组(从第一列开始依次变1,其他都为0)

实例演示:

import numpy as np
arr = np.eye(3,3)
arr1 = np.eye(4,5)
print(arr)
print(arr1)

在这里插入图片描述

random.rand():

用来创建n维数组,元素为0-1之间的随机小数。里面的参数写的是数组的形状,有几个参数就是几维数组,不需要写括号

不写参数:

#随机生成0-1之间的小数
arr = np.random.rand()
print(arr)

在这里插入图片描述

二维:

import numpy as np
arr = np.random.rand(2,3)#第0轴元素数量为2,第1轴的元素数量为3.总共是二维
print(arr)

在这里插入图片描述

三维:

import numpy as np
arr = np.random.rand(2,3,3)#第0轴元素数量为2,第1轴的元素数量为3.第2轴的元素数量为3总共是三维
print(arr)

在这里插入图片描述

至于更多维度就以此类推

随机值范围为a-b:

import numpy as np
a = 5
b = 10
arr = a + (b-a) * np.random.rand(2,3) #随机数范围为5-10
print(arr)

在这里插入图片描述

numpy中支持的数值型的数据类型:

数据类型(Data Type)描述(Description)
int8, uint8符号和无符号的8位(1个字节)整型
int16, uint16符号和无符号的16位(2个字节)整型
int32, uint32符号和无符号的32位(4个字节)整型
int64, uint64符号和无符号的64位(8个字节)整型
float16半精度浮点数:符号位,5位指数,10位尾数
float32单精度浮点数:符号位,8位指数,23位尾数
float64 or float双精度浮点数:符号位,11位指数,52位尾数
complex64两个32位浮点数(实数和虚数)
complex128 or complex两个64位浮点数(实数和虚数)

注意: int, float和complex_代表与平台相关的标准整数,浮点数和复数类型,这些类型在32位平台上和int32, float32, complex64一样,64位平台上和int64,float64,complex128一样。

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

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

相关文章

行为型设计模式10-解释器模式

🧑‍💻作者:猫十二懿 ❤️‍🔥账号:CSDN 、掘金 、个人博客 、Github 🎉公众号:猫十二懿 解释器模式 1、解释器模式介绍 解释器模式(Interpreter Pattern)是一种行为设…

Kafka系列之:对源连接器的的Exactly-Once支持

Kafka系列之:对源连接器的的Exactly-Once支持 一、背景二、目标三、公共接口四、连接器 API 扩展五、REST API验证六、新指标七、计划变更八、任务计数记录九、重新平衡的准备十、源任务启动十一、领导者访问配置主题十二、用于隔离事务生产者的管理 API十三、解决了…

论文阅读 - SegFormer

文章目录 1 概述2 模型说明2.1 总体结构2.2 Hierarchical Transformer Encoder2.3 Lightweight All-MLP Decoder 3 SegFormer和SETR的比较参考资料 1 概述 图像分割任务和图像分类任务是非常相关的,前者是像素级别的分类,后者是图像级别的分类。基于分类…

不到3000块,搭建IT人的实验平台!性能可媲美服务器!

作为IT从业者,特别是运维这个岗位,没有自己的实验平台真的特别难受,那么如何搭建自己的实验平台呢?这是我最近思考并付诸实践的一个事情,最终找到了自己觉得比较可以的方案。 01 我的需求是什么? 大内存容量…

TypeScript——类(class)

ES6 中类的用法 下面我们先回顾一下 ES6 中类的用法,更详细的介绍可以参考 ECMAScript 6 入门 - Class 属性和方法 使用 class 定义类,使用 constructor 定义构造函数。 通过new生成新实例的时候,会自动调用构造函数。 class Person{con…

leetcode877. 石子游戏(动态规划-java)

石子游戏 leetcode877. 石子游戏题目描述暴力递归代码演示 动态规划 动态规划专题: leetcode877. 石子游戏 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/stone-game 题目描述 Alice 和 Bob 用几堆石子在做游戏。一共有…

HTTP与Fiddler使用

HTTP与Fiddler使用 HTTP与Fiddler使用FidderHTTP的报文结构:其他请求头User-agentReferer和OrigincookieHTTP状态码 HTTP与Fiddler使用 HTTP协议是使用十分广泛的应用层协议,也是一个可以由程序员进行设置的一个协议。该协议的结构规定了浏览器与万维网…

【C++】通讯录的基本实现,附有源码分享

目录 1、运行环境 2、系统实现功能 2.1菜单功能 2.2退出通讯录功能 2.3添加联系人功能 2.4显示联系人功能 2.5删除联系人功能 2.6查找联系人功能 2.7修改联系人功能 2.8清空联系人功能 2.9动态扩容功能 2.10选择优化功能 2.11文件操作 3、源码分享 1、运行环境 …

【备战秋招】每日一题:2023.04.26-华为OD机式-第三题-MC方块

在线评测链接:P1231 题目内容 MC最新版本更新了一种特殊的方块,幽匿催发体。这种方块能够吸收生物死亡掉落的经验并感染周围方块,使其变成幽匿块。Steve想要以此为基础尝试搭建一个经验仓库,他来到了创造超平坦模式,在只有草方块…

【微信小程序开发】第 7 课 - 小程序的常用组件

欢迎来到博主 Apeiron 的博客,祝您旅程愉快 ! 时止则止,时行则行。动静不失其时,其道光明。 目录 1、缘起 2、小程序中组件的分类 3、常用的视图容器类组件 3.1、view 组件 3.2、scroll - view 组件 3.3、swiper 和 swiper…

blfs:为lfs虚拟机增加桌面02

参考书籍: BLFS11.3 LFS11.3(这里面有软件安装的详细说明) 树莓派Linux操作系统移植(这里面有桌面系统的脉络梳理) 参考视频 https://www.youtube.com/watch?vcavxyXBgJ6Q&listPLyc5xVO2uDsBK_3VZOek8ICsxewOO4DU…

Vue3 网络请求——axios 高级用法之 axios 拦截器实战与并发请求

文章目录 📋前言🎯关于拦截器🎯项目创建🎯代码分析🎯补充:并发请求🧩axios.all() 和 Promise.all() 的区别 📝最后 📋前言 Axios 是一个流行的基于 Promise 的 HTTP 客户…

机器学习中的多分类问题

文章标题:机器学习中的多分类问题 机器学习中的分类问题可以大致分为二分类和多分类两种。在二分类问题中,模型需要将输入数据分为两类;而在多分类问题中,模型需要将输入数据分为多个类别。本文将介绍机器学习中的多分类问题及其…

C语言指针类型,8个例子给你讲明白

0.问题 知乎上回答了一个粉丝问题, 结果这兄弟又连续问了几个问题: 好吧,帮人帮到底,送佛送到西!给你讲彻底点吧! 1. int va; 这是一个整型变量,32位CPU的话,占有32个bite 2. in…

Redis入门(1)

1.NOSQL概述 1.1.什么是NOSQL NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题&…

设计模式之享元模式笔记

设计模式之享元模式笔记 说明Flyweight(享元)目录享元模式示例类图抽象图形类I图形类L图形类O图形类工厂类测试类 说明 记录下学习设计模式-享元模式的写法。JDK使用版本为1.8版本。 Flyweight(享元) 意图:运用共享技术有效地支持大量细粒度的对象。 结构: 其中&#xff1…

MCU(Cortex - M3/M4)启动加载过程和内存分配原理 笔记

最近发现对基础不太熟悉,写篇笔记记录一下MCU启动到用户C语言运行,之前做了那些工作,同时flash和Ram又分别保存了那个数据,每一段又是什么意义,方便后续自己忘记了,查阅。 一、 MCU启动 在MCU上电/复位之后…

WireShark常用协议抓包与原理分析

1.ARP协议(地址解析协议) nmap 发现网关nmap -sn 192.168.133.2wireshark 抓请求包和响应包 arp请求包内容 arp响应包内容 总结:请求包包含包类型(request),源IP地址,源MAC地址,目标IP地址,目标MAC地址(未知,此处为全0);响应包包含包类型(reply),源IP地址,源…

DAY28:回溯算法(三)组合总和Ⅲ+电话号码字母组合

文章目录 216.组合总和Ⅲ思路树形结构 完整版debug测试逻辑错误:没有输出 剪枝操作剪枝版本continue的用法剪枝最后是continue还是return的讨论 17.电话号码的字母组合思路树形结构 伪代码字符串中的字符2转化成int的方法字符串字符与int转换补充字符串与字符 完整版…

CTF-Show密码学【摩斯码、培根密码】

萌新 密码33 一、题目信息 题目名称:我想吃培根题目描述:-- — .-. … . …–.- … … …–.- -.-. — — .-… …–.- -… …- - …–.- -… .- -.-. — -. …–.- … … …–.- -.-. — — .-… . .-. …–.- – – -… -… – -… – -… – – – -…