首页 > 其他分享 >NumPy基础使用

NumPy基础使用

时间:2023-11-10 21:15:20浏览次数:32  
标签:下标 dtype 基础 data stu 使用 print NumPy M8

  • 复合类型
"""
第一层必须是元组
默认情况下,需要每个元素的数据类型保持一致 
如果每个元素的元素类型不一致,需要分别指定每个元素的类型   
指定元素类的方式:
方式一:
    np.array(data,dtype="3str,int,3int")  
方式二:简写
    np.array(data,dtype="U3,i,3i")
    字符码          简写
    bool            ?
    int8/16/32/64   i1/2/4/8
    float8/16/32/64 f1/2/4/8
    str             U<字符数>
    datetime64      M8[Y] M8[M] M8[D] M8[h] M8[m] M8[s]
方式三:别名
    dtype=[
        ('name','U3'),
        ('sno','i'),
        ('score','i',3)
        ]
    a = np.array(data,dtype=dtype)
    b = a[0][0] # 通过下标取
    c = a[0]['name']  #通过列名取值  

object : 任意类型          
"""

data = [
    ("张三s",1,[89,90,70]),
    ("李四",2,[99,89,77]),
    ("王五是",3,[77,99,88])
]
a = np.array(data,dtype="U3,i,3i")
print(a)
# 遍历
for stu in a:
    for s in stu:
        print(s)

for stu in a:
    print("学号:",stu[1])
    print("姓名:",stu[0])
    print("成绩:")
    print("语文",stu[2][0],"数学:",stu[2][1],"英语",stu[2][2])
  • 方式2
data = [
    ("张三s",1,[89,90,70]),
    ("李四",2,[99,89,77]),
    ("王五是",3,[77,99,88])
]
dtype=[
    ('name','U3'),
    ('sno','i'),
    ('score','i',3)
]
a = np.array(data,dtype=dtype)
print(a)
b = a[0][0] # 通过下标取
print(b)
c = a[0]['name']  # 通过列名取值
print(c)
  • 日期
data = [
    "2023",
    "2023-11",
    "2023-11-09",
    "2023-11-09 11:16:15"
]
a = np.array(data)
# 进行类型转换
b = a.astype("M8[h]")
print(b)
print(b.dtype)
# 计算
c = b[0]-b[1]
print(c)
  • 切片
a = np.arange(20,38)
print(a)
print(a[2:5]) # 取出下标2-4的元素
print(a[:5]) # 取出下标0-4的元素
print(a[2:])  # 取出下标2-最后 的元素)
print(a[2:10:2]) # 取值后 下标+2
print(a[::-1])  # 倒叙数组

a.shape = (3,6)
print(a)
print("-"*50)
print(a[1:3])
print(a[0,0]) # 获取下标0,0的元素
print(a[0][0]) # 获取下标0,0的元素
print(a[0,0:3]) # 0行 0-2的元素
print(a[:2,:3])  # 0-1行中的 0-2列的元素
print(a[:2,2:5])
print(a[:,2:5])

标签:下标,dtype,基础,data,stu,使用,print,NumPy,M8
From: https://www.cnblogs.com/dogleftover/p/17825042.html

相关文章

  • 文件阅读器的使用——利用文件阅读器将选中的文件图片展示到前端页面
    代码示例:#HTML部分<formaction=""><divclass="form-group"><labelfor="id_file">用户头像{%loadstatic%}<imgsrc="{%static'img/default.png'......
  • 学ai需要哪些基础知识,详细一点
    学习人工智能(AI)需要一系列广泛的基础知识,涉及数学、统计学、计算机科学和机器学习等领域。以下是一份详细的基础知识清单:数学基础:a. 线性代数:了解向量、矩阵、行列式、特征值等概念,因为它们在机器学习中经常出现。b. 微积分:理解导数和积分,因为它们是深度学习等算法的基础。......
  • 使用nginxWebUI配置Web网站与端口转发​
    使用nginxWebUI配置Web网站与端口转发石家庄王春海刘春福最近我们公司托管了5台服务器到IDC机房,其中4台服务器组成VMware虚拟化集群,为我公司提供50台左右生产环境的虚拟机并对外提供服务,另1台服务器用于备份。IDC机房提供15个公网的IP地址。其中1个公网的IP地址配置在硬件防火墙(......
  • [20231103]rename IDL_UB1$后使用bbed的恢复3.txt
    [20231103]renameIDL_UB1$后使用bbed的恢复3.txt--//上午解决renameIDL_UB1$后使用bbed的恢复问题,就是涉及到的5个索引4个需要修改,其中一个因为NULL值的缘故,不需要修改。--//主要原因是rename是delete再insertobj$,反过来思考,如果修改时长度等长,我仅仅需要name等于原来的字符......
  • 使用IO流写一个随机点名程序
    前言最近学习了关于IO流的一些知识点,但是应用还不够,所以今天做个简单案例:随机创建名字导入文件中:packageioandcollection;importjava.io.BufferedWriter;importjava.io.FileWriter;importjava.io.IOException;importjava.sql.Array;importjava.util.ArrayList;i......
  • 新发布的Java使用率均超Java8
    Java软件供应商Azul发布了首份年度Java现状调查报告,基于对全球2062名Java专业人士和基于Java的应用程序用户进行的调查。Java软件供应商Azul发布了首份年度Java现状调查报告,基于对全球2062名Java专业人士和基于Java的应用程序用户进行的调查。调查探......
  • ansible的基础
    一:ansible的认识ansible是一个自动化运维的工具,可以想象一个场景,老板给了你1000台主机管理,配置Ip地址,管理服务等操作第一种:每一个主机都进行操作,花费的时间太大了,并且效率低,容易出错第二种:就是使用一个主控节点,其余都是被控节点,只需要在一台机器上面进行操作,用来控制其余的9......
  • 滚珠螺杆的精度和使用场景之间的关系?
    滚珠螺杆的精度和使用场景之间有着密切的关系,不同精度的滚珠螺杆被应用于不同的机械设备和制造工艺中,以满足不同的精度要求和生产效率。在机床加工行业中,高精度的滚珠螺杆被广泛应用于数控机床、加工中心和磨床等高精度加工设备中。这些设备需要将传动精度和稳定性达到较高的水平,以......
  • MySql与SQLServer数据库基础语法差异;
    1.应用Native工具将数据同步,将数据库结构和同步到MySql。视图、存储过程、函数手动创建。 2.移除数据所有数据查询的数据框架标识"dbo"; 3.MySQL中IFNULL用法,用法与SQLServer中ISNULL(expr1,expr2)用法相似.,而MySql中isnull()的返回值为1,否则返回值为0; 4.sqlserver的识别符......
  • redis系列~通用基础知识
    Redis为什么这么快完全基于内存操作使⽤单线程,避免了线程切换和竞态产生的消耗基于⾮阻塞的IO多路复⽤机制C语⾔实现,优化过的数据结构,基于⼏种基础的数据结构,redis做了⼤量的优化,性能极⾼IO多路复用机制讲解,I/O多路复用是指利用单个线程来同时监听多个Socket,并在某个Socket......