python中的数组模块numpy(一)(适用物联网数据可视化及数据分析)

news2024/11/24 3:08:09

一、创建数组对象array,认识数组的格式

array函数的格式:np.array(object,dtype,ndmin) 

以下是示例代码:

# coding:utf-8
import numpy as np
d1=[1.1,2.1,3.1]
d2=(1,2,3,4)
d3=[['a','b'],['c','d'],['e','f']]
print(d1)
print(d2)
print(d3)
print("以上是数据的原始状态,以下是转化成数组对象后的输出:")
s1=np.array(d1)
s2=np.array(d2)
s3=np.array(d3)
print(s1)    #输出了空格
print(s2)
print(s3)   #回车加空格

 让我们观察一下数组格式,输出如下:

——闲着没事大家可以type()一下s1、s2、s3看看是不是ndarray数组类型

print(type(s1)) #表示输出的是ndarray数组类型

二、类型比较


~常见的列表、元组通过numpy模块转数组后,它的类型、数组的数据类型dtype对象

说明:在创建数组时,NumPy会为新建的数组推断出一个合适的数据类型,并保存在dtype中,当序列中有整数和浮点数时,NumPy会把数组的dtype定义为浮点数据类型。

print(s1.dtype)
print(s2.dtype)
print(s3.dtype)

输出如下:

 

——如果指定了dtype类型,就会自然转化成这个类型,如整型转浮点型:

s4=np.array(d2,dtype='float64')
print(s4.dtype)

有一些是能指定转化的有一些则不能,如果你要将字符类型转换成浮点型就不可以,有空多尝试。 

三、arange函数:创建一维等差数组

底层完整格式:np.arange([start, ],stop, [step, ],dtype)

[ ]中括号的意思是,可有可没有,如:

warray=np.arange(10,dtype="int32")
print(warray)
# 默认结束为10,开始为0,间隔为1的等差数列

以下是精简中文版解释:

   语法:np.arange(起始数字,结束数字,差值,dtype="类型") 

# coding:utf-8
# 创建一维等差数组
import numpy as np
warray=np.arange(1,10,1,dtype="int32")
print(warray)

 输出如下:

四、专门创建数组的linspace、logsapace函数

 1.linspace函数:创建等差数列数组。

 底层完整格式:np.linspace(start,stop,num,endpoint, retstep=Falsed,type=None) 

start:序列的起始值。
stop:序列的结束值。如果 endpoint 为 True,该值会包含在生成的数组中;如果为 False,则不包含,endpoint默认为True。
num:要生成的样本数,默认为 50。
retstep:如果为 True,返回 (samples, step),其中 step 是样本之间的间隔。默认为 False。
dtype:输出数组的数据类型。如果没有给出,则从其他输入参数推断数据类型。
axis:在 0 的情况下,返回的数组是 1-D 的,否则返回的数组的形状是 (num,) + shape(start)。

以下是精简中文版解释:

   语法:np.linspace(起始数字,结束数字,生成的样本数)

# coding:utf-8
import numpy as np
# linspace函数
w=np.linspace(0,11,5,endpoint=False,dtype='int32')
#开始,结束,间隔数量
print(w)

输出如下:

 

2.logsapce函数:创建等比数列数组。

 底层完整格式:np.logspace(start,stop,num,endpoint=True,base=10.0, dtype=None))

        说明:logspace的参数中,start,stop代表的是基数的幂,默认基数base为10,第三个参数为生成元素个数。

y=np.logspace(1,5,5,base=2,endpoint=True,dtype='int32')
print(y)

开始值是2^1       即2 

结束值是2^5       即32

2~32中有五个元素等比数列就是这样式滴:2^1 2^2 2^3 2^4 2^5

以下是精简中文版解释:

   语法:np.logspace(起始数字的n次幂,结束数字的n次幂,生成个数,base=n)  

 

3.zeros函数:创建指定长度或形状的全0数组 。

 底层完整格式:np.zeros(shape,dtype=float, order='C’)

以下是精简中文版解释:

  • shape:数组的形状,可以是一个整数或一个表示形状的元组。
  • dtype:数组的数据类型,可选参数,默认为float64
  • order:数组元素在内存中的排列顺序,可选参数,可以是’C’(按行排列)或’F’(按列排列)。

   语法:np.zeros(整数/元组,dtype=类型, order='C/F’)

如果是元组描述一个形状:np.zeros((row,column),dtype='int32')

示例代码:

z1=np.zeros((4,3),dtype='int32')
z2=np.zeros((3,4),dtype='int32')
print('z1\n',z1,'\nz2:\n',z2)

输出结果:

 

4.ones函数:创建指定长度或形状的全1数组

 底层完整格式:np.ones(shape, dtype=None, order='C')

 语法同zeros函数一样。

示例代码:

o1=np.ones((4,3),dtype='int32')
o2=np.ones((3,4),dtype='int32')
print('o1\n',o1,'\no2:\n',o2)

输出结果:

 

5.diag函数:创建一个对角阵。

 底层完整格式:np.diag(v, k=0)

以下是精简中文版解释:

        v:必选,列表、元组、数组,对角线元素;

        k:可选,默认为0,表示对角线位置;

示例代码:

# 列表
d1=np.diag([1,2,3,4,5])
# 元组
d2=np.diag((1,2,3,4,5))
# 数组
s=np.array([1,2,3,4,5])
d3=np.diag(s)

print('d1:',d1,'\n')
print('d2:',d2,'\n')
print('d3:',d3,'\n')

 输出结果:

此外,同理使用eye函数可创建一个对角线为1其他位置全为0的矩阵。


        当这篇博客的篇章缓缓落下帷幕,惊喜却并未停止。我为大家精心准备了福利,快来参与吧!扫描二维码,开启幸运之旅,抽取丰厚好礼。愿这份小小的惊喜,为你的生活增添一抹别样的光彩,期待与你再次相遇在这充满奇妙的文字世界。

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

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

相关文章

无法编辑PDF文件?试试这3个解决方法!

PDF文件格式广泛应用于工作中,但有时候我们可能遇到无法编辑PDF文件的情况。这可能导致工作效率降低,特别是在需要修改文件内容时显得尤为棘手。遇到PDF不能编辑时,可以看看是否以下3个原因导致的。 原因一:PDF文件设置了编辑权限…

八大排序--06基数排序(桶排序)

【本质--先排序个位&#xff0c;再排序十位&#xff0c;排百位...依次类推的过程】 获取待排序数组中的最高位数 //取计算最大值的位数int maxarr[0];for(int j0;j<arr.length;j) {if(arr[j]>max) {maxarr[j];}} 存储数据&#xff08;桶排序中除了游标遍历外&#xff…

【数据结构 | PTA】栈

文章目录 7-1 汉诺塔的非递归实现7-2 出栈序列的合法性**7-3 简单计算器**7-4 盲盒包装流水线 7-1 汉诺塔的非递归实现 借助堆栈以非递归&#xff08;循环&#xff09;方式求解汉诺塔的问题&#xff08;n, a, b, c&#xff09;&#xff0c;即将N个盘子从起始柱&#xff08;标记…

分析和解决js运算精度问题,出现多位小数

加减乘除都会出现小数精度错误的问题 (见图) 原因&#xff1a;js进行运算时会将数字先转为二进制再进行运算。 错误思路&#xff1a;之前在做数字运算时都是将数字转化为整数再进行运算&#xff0c;某次突然发现在变整数的时候也会出现精度问题&#xff0c;比如上图中的数据。…

LINUX——内核移植、内核编译教程

Linux内核编译是一个将内核源代码转换成可在特定硬件架构上运行的二进制文件的过程。以下是编译Linux内核的一般步骤&#xff1a; 1、准备工作&#xff1a; 确保安装了必要的编译工具&#xff0c;如gcc、make、ncurses库&#xff08;用于make menuconfig&#xff09;等。 2、…

【读书笔记-《30天自制操作系统》-26】Day27

本篇内容不多&#xff0c;主要是一些优化的工作。首先优化了应用程序&#xff0c;然后引入对应用程序的保护功能&#xff0c;最后引入库的概念。 1. 应用程序优化 首先来解决上一篇中遗留的一个bug:使用ncst命令运行的应用程序&#xff0c;按下ShiftF1或者点击x按钮都无法关…

Hierarchical Cross-Modal Agent for Robotics Vision-and-Language Navigation

题目&#xff1a;用于视觉语言导航的层次化跨模态智能体 摘要 1. 问题背景和现有方法 VLN任务&#xff1a;这是一种复杂的任务&#xff0c;要求智能体基于视觉输入和自然语言指令进行导航。 现有方法的局限性&#xff1a;之前的工作大多将这个问题表示为离散的导航图&#x…

『网络游戏』登陆启动框架【05】

将上一章的加载界面隐藏 1.游戏启动逻辑 创建脚本GameRoot.cs &#xff08;该脚本为游戏入口&#xff0c;作用初始化游戏&#xff09; 创建脚本&#xff1a;ResSvc.cs &#xff08;&#xff09; 创建脚本&#xff1a;LoginSys.cs &#xff08;&#xff09; 编写脚本&a…

解析Vue源码中是如何进行模版编译的

模版编译 联系前文&#xff0c;讲了虚拟DOM的patch过程&#xff0c;而虚拟DOM的前提是先有VNode&#xff0c;那么VNode又是从哪里来的&#xff1f;接下来讲的模版编译便是&#xff1a;把用户写的模版进行编译&#xff0c;就会产生VNode。 在日常开发中&#xff0c;我们把写在…

Qt-目录和文件

1. 目录和文件 1.1 目录操作 QDir 类用来处理目录 常用方法&#xff1a; QDir(QString path) &#xff1a; 实例化 absolutePath() : 获取目录绝对路径 dirName() : 获取目录相对路径 exists(dirPath) : 判断目录是否存在 mkdir(QString dirPath) : 创建目录 rmdir(QStr…

经典5级流水线概述

抽象化的流水线结构&#xff1a; 流水线的基本概念 多个任务重叠&#xff08;并发/并行&#xff09;执行&#xff0c;但使用不同的资源流水线技术提高整个系统的吞吐率&#xff0c;不能缩短单个任务的执行时间其潜在的加速比&#xff1d;流水线的级数 流水线正常工作的基本条件…

使用YOLO11实例分割模型进行人物分割【附完整源码】

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

开放式蓝牙耳机哪个品牌好用?五大口碑最好开放式耳机力荐!

长时间佩戴传统入耳式耳机有时可能会影响耳道健康&#xff0c;鉴于此&#xff0c;转而选择不入耳设计的开放式耳机就成了不少人的新倾向&#xff0c;它们有助于减少细菌滋生和耳道闷热的烦恼。为了帮助大家找到合适的选项&#xff0c;下面我将列举一些市面上口碑不错的开放式耳…

跨境电商怎么搭建网络环境?

跨境电商搭建网络环境是一项复杂但至关重要的任务&#xff0c;它涉及到多个层面的技术和服务。以下是构建高效、安全、可扩展的跨境电商网络环境的一些建议&#xff1a; 1. 选择合适的云服务提供商 可靠性与稳定性&#xff1a;选择知名且有良好口碑的云服务提供商&#xff0c;确…

MySql复习知识及扩展内容

DDL操作库和表 -- todo ------------操作库---------------------------------- -- 创建库 create database if not exists day10 charset utf8; create database if not exists day11 char set gbk; -- 使用库 use day10; -- 查询库 show databases ; -- 删除库 drop databas…

mybatisplus整合springboot3出错(springboot多模块开发)

1.mybatisplus版本太低或者maven导入没用如下的 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.5</version></dependency>2.maven导入冲突了&#xf…

千万不要再用varchar类型来存ip地址了!

对于一个ip地址&#xff0c;比如“192.168.0.110”&#xff0c;由于存在“.”号&#xff0c;所以大部分人都会用varchar类型的字段来进行存储&#xff0c;但是大家有没有想过&#xff0c;对于这样一个字符串&#xff0c;每个字符占用一个字节&#xff0c;那么就需要占用13个字节…

使用ChatGPT高级学术应用SciSpace的技术快速精准的搜索文献论文

在学术研究领域,文献综述是非常重要的一个部分。它不仅是对已有研究的梳理和总结,更是对新研究方向的探索和定位。面对浩瀚的学术文献海洋,传统的检索方法往往显得力不从心,既耗时又低效。 随着ChatGPT技术的突破,我们终于可以摆脱这一束缚,迎来一种全新的、高效的文献检…

程序员 -买房历险记

快生日了&#xff0c;自己又又 涨了一岁 买房 真不是 一件简单的事。 一. 买房 三大核心问题 1.一手/二手 房 2.哪个城市买 3.哪个地方买 我调研的是 三四线城市&#xff08;俺的老家&#xff09; 二. 买房需要 花多少&#xff08;看得到/看不到&#xff09; 比如 4000元…

SEO(搜索引擎优化)指南

SEO&#xff08;Search Engine Optimization&#xff09;是通过优化网站内容、结构和外部链接&#xff0c;提升网页在搜索引擎结果中的排名&#xff0c;从而增加网站流量的过程。SEO 涉及多个层面&#xff0c;包括技术 SEO、内容优化、外部链接建设等。以下是 SEO 的核心优化策…