Numpy中type()、ndim、shape、size、dtype、astype的用法

news2024/12/30 4:27:21

目录

  • numpy基础介绍
  • 示例
  • 分析及总结:
  • itemsize、nbytes函数

numpy基础介绍

Numpy 补充了Python语言所欠缺的数值计算能力,是其它数据分析及机器学习库的底层库。因其完全标准C语言实现,运行效率充分优化。最重要一点是开源免费。numpy的核心是矩阵(即多维数组)。

示例

import numpy as np

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

print(arr)
print(type(arr))
print(arr.ndim)
print(arr.shape)
print(arr.size)
print(arr.dtype)
print(arr.astype('float32'))

结果如下:

[[1 2 3] 
 [4 5 6]]
<class 'numpy.ndarray'>
2
(2, 3)
6
int32
[[1. 2. 3.]
 [4. 5. 6.]]

分析及总结:

  1. Python中有list(即数组)数据类型和numpy中的numpy.ndarray是两种不同的数据结构,区别可以看每个小中括号之间是否有逗号分割,
    有则是list,没有则是numpy.ndarray;
  2. type()和dtype是两个不同的方法,一个是看数据结构,一个单个字符的类型(数据类型)
  3. ndim函数是看维数,几维的。方法是看连着几个中括号。比如
import numpy as np

arr1 =np.array([1,4,4,1])
arr2 =np.array([[1],
[4],
[4],
[1]
])
arr3 =np.array([[[1,2,3],
[4,5,6]],[[8,9,3],
[4,2,1]]])
print(arr1.ndim,arr2.ndim,arr3.ndim)
1 2 3
  1. shape:表示各位维度大小的元组。返回的是一个元组。对于一维数组:有疑问的是为什么不是(1,4),因为arr1.ndim维度为1,元组内只返回一个数。对于二维数组:前面的是行,后面的是列,他的ndim为2,所以返回两个数。对于三维数组,返回三个数。比如
import numpy as np

arr1 =np.array([1,4,4,1])
arr2 =np.array([[1],
[4],
[4],
[1]
])
arr3 =np.array([[[1,2,3],
[4,5,6]],[[8,9,3],
[4,2,1]]])
print(arr1.shape)
print(arr2.shape)
print(arr3.shape)

(4,)
(4, 1)
(2, 2, 3)
  1. dtype和astype,一个可以指定数组的数据类型,一个可以改变数组的数据类型
    numpy的数据类型主要包括整数、浮点数、复数、布尔值、字符串、python对象类型,如下图所示
    在这里插入图片描述
    1、使用dtype指定创建数组的数据类型,可以创建数组时直接指定
    #默认是浮点数是float64
    arr9 = np.array([1.,2.,3.],dtype=np.float32)
    print(arr9.dtype)
    #float32
    #通过类型代码指定
    arr9 = np.array([1.,2.,3.],dtype="f4")
    print(arr9.dtype)
    #float32

2、使用astype来改变数组的数据类型

import numpy as np

arr1 =np.array([1,4,4,1])
print(arr1)
print(arr1.dtype)

arr2 = arr1.astype('float64')
print(arr2)
print(arr2.dtype)
print(arr1)

[1 4 4 1]
int32
[1. 4. 4. 1.]
float64
[1 4 4 1]
  1. size 函数计算当前数组元素的个数
import numpy as np

arr1 =np.array([1,4,4,1])
arr2 =np.array([[1],
[4],
[4],
[1]
])
arr3 =np.array([[[1,2,3],
[4,5,6]],[[8,9,3],
[4,2,1]]])

print(arr1.size)
print(np.size(arr1))
print(arr2.size)
print(arr3.size)

4
4
4
12

备注:比较前两个4,其实在numpy中同一个函数有不同的表达方式,可以arr1.size,也可以np.size(arr1)

itemsize、nbytes函数

itemsize:数组每个元素字节大小 (itemsize)
nbytes:数组总字节大小 (nbytes)

import numpy as np

arr1 =np.array([1,4,4,1])
print("Item size:", arr1.itemsize)  # 输出: 4 (表示每个元素占用4个字节)
print("Total bytes:", arr1.nbytes)  # 输出: 16 (表示整个数组占用的总字节数)

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

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

相关文章

思维导图怎么画好看又简单?5个软件帮助你快速进行思维导图绘制

思维导图怎么画好看又简单&#xff1f;5个软件帮助你快速进行思维导图绘制 思维导图是一种有效的思维整理和展示工具&#xff0c;可以帮助你将复杂的想法进行可视化&#xff0c;提升工作和学习效率。为了让思维导图既好看又简单&#xff0c;选择合适的软件能够大大提高绘制效率…

UE中Camera Clip截面修改

UE中Camera无法修改远截面&#xff08;FarClipingPlane)&#xff0c;只可修改近截面&#xff08;NearClipingPlane&#xff09;&#xff1a; 至于为什么无法修改远截面&#xff0c;看下代码&#xff0c;尝试继承UE的CameraComponent打印出相机投影矩阵&#xff1a; #include …

python编程知识(实现数据加密和解密)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

在模板中使用 Django 会话

在 Django 中使用会话&#xff08;session&#xff09;可以让你在用户访问网站的过程中存储和访问临时数据。我们可以利用会话在速度计算器的例子中存储和显示上次计算的结果。 1、问题背景 在 Django 中&#xff0c;可以使用会话来存储用户数据。在某些情况下&#xff0c;我们…

双绞线如何抑制传导干扰

一&#xff0e;案例简介 产品去做CE认证时&#xff0c;被告知传导抗扰未通过&#xff0c;网络会断连。 剖开网线外皮&#xff0c;发现内部是散装的&#xff0c;非双绞线。因此换成双绞线网线&#xff0c;复测&#xff0c;传导抗扰通过了。 图1 非双绞线和双绞线示意图 为什么…

经销商数据对接方案:借助轻易云数据集成平台实现高效互联

在现在很多品牌方的实际需求中&#xff0c;品牌商与经销商之间的渠道博弈日益激烈。品牌商渴望掌握经销商的销量和库存数据&#xff0c;以便更好地规划生产和库存&#xff0c;提升品牌影响力&#xff1b;经销商则期望在避免库存积压的同时抢占市场&#xff0c;加速资金周转以获…

活动预告|“AI+Security”系列第3期:AI安全智能体,重塑安全团队工作范式

由安全极客、Wisemodel社区、InForSec网络安全研究国际学术论坛和海升集团联合主办的 “AISecurity”系列第3期&#xff1a; AI 安全智能体&#xff0c;重塑安全团队工作范式 线下活动 将于2024年9月11日下午14:00 在中关村智造大街G座路演厅 正式举行 欢迎扫描海报中二…

Javaweb(前端)

目录 Web开发 Web前端 HTMLCSS 盒子模型 JavaScript js引入方式 js基础语法 js函数 js对象&#xff08;JSONBOMDOM&#xff09; js事件监听 Vue ​编辑Vue快速入门 Vue常用指令 Vue生命周期 Ajax 原生Ajax Axios YApi&#xff08;应用网页&#xff09; 前端工程…

打造一流的研发型企业--- 金发科技研发驱动力初探

2006年3月29日&#xff0c;国家发改委副主任欧新黔亲自为金发科技颁发了“中国改性塑料行业第一位”、“中国合成材料制造业十强”、“中国石油化工全行业百强”三块铜牌证书&#xff0c;金发科技终于成为名符其实的行业“老大”。公司产品销售额增长迅速&#xff0c; 2006年完…

Java健康养老智慧相伴养老护理小程序系统源码代办陪诊陪护更安心

健康养老&#xff0c;智慧相伴 —— 养老护理小程序&#xff0c;代办陪诊陪护更安心 &#x1f308;【开篇&#xff1a;智慧养老&#xff0c;新时代的温馨守护】&#x1f308; 在这个快节奏的时代&#xff0c;我们总希望能给予家人更多的关爱与陪伴&#xff0c;尤其是家中的长…

【AIGC赋能】短视频创作新纪元:一键生成,爆款不再难!

文章目录 一、AI技术的深度融入&#xff1a;从辅助到主导二、实际应用场景&#xff1a;覆盖创作全流程三、展望未来&#xff1a;AI短视频创作的无限可能 《AI短视频生成与剪辑实战108招&#xff1a;ChatGPT剪映》编辑推荐内容简介作者简介目录前言/序言内页插图 在数字化浪潮的…

IP地址是怎么实现HTTPS访问的?

首先&#xff0c;需要明确的是&#xff0c;IP地址&#xff08;Internet Protocol Address&#xff09;是互联网上设备&#xff08;如服务器、路由器等&#xff09;的唯一标识符&#xff0c;它允许数据包在网络中正确地路由和传输。然而&#xff0c;IP地址本身并不直接支持HTTPS…

cesium可不可以改变影像底图颜色,如何给地球底图影像添加一层滤镜蒙版?

废话&#xff1a;你的球是不是很丑&#xff1f;是不是没有科技感&#xff1f;是不是没有好看的影像&#xff1f; 因果&#xff1a; 因&#xff1a;客户问&#xff0c;底图可不可以改变颜色&#xff0c;想让球更漂亮一些。 答&#xff1a;可以改变影像饱和度&#xff0c;透明度…

【MATLAB源码-第164期】基于matlab的轴承故障三种谱图:细化谱,功率谱,倒谱对比分析仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 轴承故障分析是一种重要的维护和监控手段&#xff0c;能够帮助工程师及时发现和解决轴承在运行中可能遇到的各种问题。在轴承故障诊断中&#xff0c;通常会使用到三种谱图分析方法&#xff1a;细化谱&#xff08;Fine Spectr…

基于大数据的电商平台电脑销售数据分析系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 随着电子商务的蓬勃发展&#xff0c;各大电商平台积累了海量的商品数据。如何从这些数据中提取有价值的信息&#xff0c;对于商家来说至关重要。本项目利用网络爬虫技术从京东电商平台采集各类品牌…

《Linux运维总结:基于X86_64+ARM64架构CPU使用docker-compose一键离线部署consul 1.18.1容器版分布式ACL集群》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&…

纹理视图和模型视图画的不同步?

这个是什么情况&#xff0c;纹理视图和模型视图画的不同步了 这个是因为材质球没上给模型&#xff0c;材质球再拖一下给模型。

表连接查询之两个left join与递归SQL

一、如下SQL1 SELECT i.*,su1.name as createName,su2.name as updateNameFROM information ileft join sys_user su1 on su1.idi.create_idleft join sys_user su2 on su2.idi.update_id 二、分析 1、SELECT i.*,su.name as createName,sua.name as updateName FROM informati…

EPLAN2022基础教程

EPLAN2022软件介绍 EPLAN是一款专业的电气设计和绘图软件&#xff0c;它可以帮助我创建和管理电气项目&#xff0c;生成各种报表和文档&#xff0c;与其他软件和系统进行交互&#xff0c;优化工程流程和质量。与传统的CAD绘图对比&#xff0c;EPLAN更适合绘制电气原理图。 下…

【STM32】Cortex-M3的Systick定时器(实现Delay延时)

本篇博客重点在于标准库函数的理解与使用&#xff0c;搭建一个框架便于快速开发 目录 前言 Systick介绍 Systick相关寄存器 控制和状态寄存器- CTRL 重装载数值寄存器- LOAD 当前值寄存器- VAL SysTick库函数 初始化 时钟源选择 SysTick中断 Delay代码 Delay.h D…