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

目录

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

二、类型比较

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

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

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

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

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

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

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


一、创建数组对象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.mzph.cn/pingmian/56196.shtml

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

相关文章

Oracle 零宽空格问题处理

在Oracle中,去除字符串两端的零宽空格(Zero Width Space,Unicode编码为U200B)可以使用TRIM函数结合REGEXP_REPLACE函数来实现。由于标准的TRIM函数只能去除ASCII字符,对于Unicode字符如零宽空格,需要使用正…

【快速上手】使用 Vite 来创建一个 Vue 3项目

文章目录 1. 前提条件2. 使用 Vite 创建 Vue 项目第一步:安装 Vite第二步:进入项目并安装依赖第三步:启动开发服务器 3. 项目结构说明4. 项目开发的基础操作1. 添加新组件2. 安装依赖 5. 打包和部署6. VS Code 配置开发环境(可选&…

通信工程学习:什么是VHDL超高速集成电路硬件描述语言

VHDL:超高速集成电路硬件描述语言 VHDL,全称为Very-High-Speed Integrated Circuit Hardware Description Language,即超高速集成电路硬件描述语言,是一种用于电路设计的高级语言。以下是关于VHDL的详细介绍: 一、起源…

ddb-spring-boot-starter使用说明

功能说明 实现springbootmybatisplus项目中,动态切换数据库连接及实现类的简易方案。实现效果为:1.将数据源连接信息动态维护到数据表中(可以通过页面实时维护到表中);2. 在线选择数据源就可以实时切换数据库连接及实现…

kubernetes自定义pod启动用户

一、kubernetes自定义pod启动用户 一)以root用户启动pod containers:- name: ...image: ...securityContext:runAsUser: 0 二)以普通用户启动pod 1、从构建镜像角度修改 # RUN命令执行创建用户和用户组(命令创建了一个用户newuser设定ID为1…

数据结构——排序(2)

数据结构——排序(2) 文章目录 数据结构——排序(2)前言:1.快速排序(非递归版本)基本步骤:代码实现 2.归并排序算法思想:核心步骤:代码实现:特征总结: 3.计数排序(非比较…

【ubuntu】ubuntu20.04安装cuda12.6与显卡驱动

目录 1.安装cuda12.6 2.安装显卡驱动 1.安装cuda12.6 https://developer.nvidia.com/cuda-toolkit-archive https://developer.nvidia.com/cuda-12-6-0-download-archive?target_osLinux&target_archx86_64&DistributionUbuntu&target_version20.04&target_…

[MyBatis-Plus]快速入门

介绍 MyBatis-Plus是MyBatis的好朋友, 与MyBatis配合, 实现开发效率的提高 官网: 特点: 润物细无声: 只做增强不做改变, 引入它不会对现有工程产生影响, 如丝般顺滑效率自上: 只需简单配置, 即可快速进行单表CRUD, 从而节省大量时间功能丰富: 代码生产, 自动分页, 逻辑删除, …

【重学 MySQL】六十六、外键约束的使用

【重学 MySQL】六十六、外键约束的使用 外键约束的概念关键字主表和从表/父表和子表外键约束的创建条件外键约束的特点外键约束的创建方式外键约束的删除外键约束的约束等级外键约束的级联操作外键约束的示例外键约束的作用开发场景阿里开发规范 在MySQL中,外键约束…

雷池社区版配置遇到问题不要慌,查看本文解决

很多新人不太熟悉反向代理,所以导致配置站点出现问题 配置问题 记录常见的配置问题 配置后攻击测试没有拦截记录 检查访问请求有没有真实经过雷池 有很多新人配置站点后,真实的网站流量还是走的源站,导致雷池这边什么数据都没有 配置后…

【C】分支与循环2--while/for/do-while/goto以及break和continue在不同循环中的辨析~

分支与循环 while循环 if与while的对比 if(表达式)语句&#xff1b;while(表达式)语句&#xff1b;下面来看一个例子&#xff1a; 用 if 写&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() {if (1)printf("hehe");//if后面条…

YOLOv8模型改进 第七讲 一种新颖的注意力机制 Outlook Attention

随着目标检测技术的不断发展&#xff0c;YOLOv8 作为最新一代的目标检测模型&#xff0c;已经在多个基准数据集上展现了其卓越的性能。然而&#xff0c;在复杂场景中&#xff0c;如何进一步提升模型的检测精度和鲁棒性依然是一个重要挑战。本文将探讨将 Outlook Attention 机制…

2024第四届”认证杯“数学中国全国大学生数学竞赛参赛通知

2024第四届“认证杯”数学中国 全国大学生数学竞赛报名通知 为了培养人才、服务教学、促进高等学校数学课程的改革和建设&#xff0c;增加大学生学习数学的兴趣&#xff0c;培养分析、解决问题的能力&#xff0c;发现和选拔数学创新人才&#xff0c;为青年学子提供一个展示数…

tortoisegit简单用法

一、基础设置 1.官网 https://tortoisegit.org/ TortoiseGit – Windows Shell Interface to Git 2.下载 3.安装 4.设置 5.克隆远程仓库 二、团队合作 1.在dev分支上创建分支 主分支&#xff1a;master 发开分支&#xff1a;dev 自己的分支&#xff1a;test_branch 2.修…

竹壳天气时钟(一)使用数组保存扫描到的WiFi列表信息

一、简介 准备用基于esp8266的nodemcu开发板做一个天气时钟。 一步一步记录代码编写过程。 /*竹壳天气时钟 Bamboo shell weather clock 使用基于esp8266的NodeMCU制作。 计划用竹子做最后成品的外壳&#xff0c;所以才有了这个名称。 第一阶段任务&#xff1a; 1.实现WiFi连…

mariadb设置远程访问

编辑 /etc/mysql/my.cnf文件&#xff0c;添加以下代码 [mysqld] bind-address 0.0.0.0 在mariadb中添加一个用于远程访问的新用户 先进入mariadb mysql -u root -p 创建用户 // 创建用户 create user remote_user% identified by password; // 给远程访问权限 grant all…

MySQL表的基本查询上

1&#xff0c;创建表 前面基础的文章已经讲了很多啦&#xff0c;直接上操作&#xff1a; 非常简单&#xff01;下一个&#xff01; 2&#xff0c;插入数据 1&#xff0c;全列插入 前面也说很多了&#xff0c;直接上操作&#xff1a; 以上插入和全列插入类似&#xff0c;全列…

小红书新ID保持项目StoryMaker,面部特征、服装、发型和身体特征都能保持一致!(已开源)

继之前和大家介绍的小红书在ID保持以及风格转换方面相关的优秀工作&#xff0c;感兴趣的小伙伴可以点击以下链接阅读~ 近期&#xff0c;小红书又新开源了一款文生图身份保持项目&#xff1a;StoryMaker&#xff0c;是一种个性化解决方案&#xff0c;它不仅保留了面部的一致性&…

智能交通与车联网:未来出行的创新变革

随着全球城市化进程的加速和交通需求的不断增加&#xff0c;传统的交通管理方式已经无法满足日益复杂的交通问题。智能交通&#xff08;Intelligent Transportation System, ITS&#xff09;和车联网&#xff08;Internet of Vehicles, IoV&#xff09;作为现代科技与交通行业深…

云手机:社交平台运营的热门工具

随着互联网的飞速发展&#xff0c;社交平台已经成为企业推广和营销的核心渠道。传统的运营方式已经无法满足高效运营的需求&#xff0c;而云手机作为新兴工具&#xff0c;逐渐成为社交平台运营的前沿趋势。本文将深入分析云手机如何优化社交平台的运营流程&#xff0c;助力企业…