人工智能系列-numpy(一)

news/2024/7/8 2:37:52 标签: 人工智能

🌈个人主页:羽晨同学 

💫个人格言:“成为自己未来的主人~”   

Numpy是python语言的一个拓展程序库,支持大量的维度数组与矩阵计算,此外也针对数组运算提供大量的数学函数库

NumPy支持的数据类型比Python内置的类型要多得多,基本上可以和C语言的数据类型对应上,其中部分类型对应为Python内置的类型。

Numpy最重要的一个特点是其N维数组对象ndarray,它是一系列同类型数据的集合,以0下标为开始进行集合中元素的索引。

nadarray对象是用于存放同类型元素的多维数组。

nadarray中的每个元素在内存中都有相同存储大小的区域。

NumPy数组操作

迭代数组

import numpy as np
a=np.arange(0,60,5)
a=a.reshape(3,4)
print(a)
print('\n')
for x in np.nditer(a,order='C'):
    print(x,end=",")
print('\n')
for x in np.nditer(a,order='F'):
    print(x,end=",")

 

这个就是数组的遍历,需要注意的是C格式的时候为行遍历,F格式的时候为列遍历。

NumPy的广播机制

  •  数组拥有相同形状
  • 当前维度的值相等
  • 当前维度的值有一个是1
a=np.array([[1,2,3],[4,5,6]])
b=np.array([1,0,0])
c=a+b
print(c)

 

修改数组形状

reshape

可以在不改变数据的条件下修改形状

a=np.arange(8).reshape(2,4)
print(a)
print('\n')
print('展开的数组:')
print(a.flatten())
print('\n')

print('以F的风格顺序展开的数组:')
print(a.flatten(order='F'))

 flatten的作用是展开,将数组进行展开。

翻转数组

a=np.arange(8).reshape(2,4)
print('原数组:')
print(a)
print('\n')

print('对换数组:')
print(np.transpose(a))

 

a=np.arange(8).reshape(2,2,2)
print('原数组:')
print(a)
print('\n')
print('调用swapaxes后的数组:')
print(np.swapaxes(a,2,0))

 

这里面涉及到了两个函数,一个是transpose,这个一般交换所有的维度

另外一个是swapaxes,这个可以选择两个维度进行交换

修改数组维度

x=np.array([[1,2],[3,4]])
print('数组x:')
print(x)
print('\n')
y=np.expand_dims(x,axis=0)
print(y)
print(x.shape,y.shape)

 

x=np.arange(9).reshape(1,3,3)
print('数组x: ')
print(x)
print('\n')
y=np.squeeze(x)
print('数组y: ')
print(y)
print('\n')
print(x.shape,y.shape)

 

第一个函数(expand.dims)是增加维度的,第二个函数(squeeze)是删除维度的,默认删除为1的维度

 


http://www.niftyadmin.cn/n/5536263.html

相关文章

金融科技在反洗钱领域的创新应用及案例

随着金融科技的迅猛发展,其在反洗钱领域的应用也日益广泛和深入。这些创新应用不仅提高了反洗钱工作的效率和准确性,还为金融机构应对日益复杂的洗钱活动提供了有力支持。下面将详细介绍一些金融科技在反洗钱领域的创新应用案例。 一、AI大模型与知识图谱…

同步时钟:北斗/GPS卫星、电信基站、NTP以太网校时方式的区别

同步时钟是保证各设备时间统一的重要装置,广泛应用于电力、通信、金融、学校、医院、地铁等多个领域。目前,常用的同步时钟方式包括:北斗/GPS卫星、电信基站、NTP以太网等。 下面跟着小编来看一下这些校时方式及他们的区别吧。 1. 北斗/GP…

Three.js机器人与星系动态场景(二):强化三维空间认识

在上篇博客中介绍了如何快速利用react搭建three.js平台,并实现3D模型的可视化。本文将在上一篇的基础上强化坐标系的概念。引入AxesHelper辅助工具及文本绘制工具,带你快速理解camer、坐标系、position、可视区域。 Three.js机器人与星系动态场景&#x…

GPT-5 一年半后发布?我们可能所受影响与应用领域

前言: IT之家6月22日消息,在美国达特茅斯工程学院周四公布的采访中,OpenAI首席技术官米拉穆拉蒂被问及GPT-5是否会在明年发布,给出了肯定答案并表示将在一年半后发布。此外,穆拉蒂在采访中还把GPT-4到GPT-5的飞跃描述…

小白 | 华为云docker设置镜像加速器

一、操作场景 通过docker pull命令下载镜像中心的公有镜像时,往往会因为网络原因而需要很长时间,甚至可能因超时而下载失败。为此,容器镜像服务提供了镜像下载加速功能,帮助您获得更快的下载体验。 二、约束与限制 构建镜像的客…

【详解】RV1106移植opencv-mobile库

文章目录 前言一、烧入镜像二、编译项目1.创建项目文件 三、移植四、运行文件五、总结 前言 硬件:瑞芯微Rv1106【Luckfox Pro\Max Pico、网线一根、USB线、摄像头 软件:ubuntu 20.4、MobaXterm、SocToolKit 编译器:arm-rockchip830-linux-uc…

python 发布应用程序包

文章目录 发布python包toml配置文件构建发布python包 官方文档参考 将自己的python项目发布成源码包或者wheel二进制包,供其他开发者使用。 方式: 使用py工具; distutils,该工具的使用已过时;setuptools,常用方式;wheel,在setuptools的基础上添加了 bdist_wheel, …

关于Ubuntu系统中.config文件夹如何找到

Ubuntu中QT项目使用了setting保存配置,但是找不到配置文件保存了在哪里,找了一下: 因为QT里取的名字是: 于是下载everything搜索Nio,发现目录为/home/nio/.config 虽然已经下载了everything找到了,但是发现…