首页 > 其他分享 >Numpy(二)

Numpy(二)

时间:2023-08-27 10:33:37浏览次数:29  
标签:文件 frame random 数组 np Numpy

Numpy

数据的CSV文件存取

csv(Comma-Seperated Value,逗号分隔值)文件:csv是一种常见的文件格式,用来存储批量数据

image-20230816154637822

np.savetxt(frame, array, fmt='%.18e', delimiter=None)

参数说明:

  • frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件
  • array:存入文件的数组
  • fmt:写入文件的格式,例如:%d %.2f %.18e
  • delimiter:分割字符串,默认是任何空格

image-20230816160432273

np.loadtxt(frame, dtype=np.float, delimiter=None, unpack=False)

参数说明:

  • frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件
  • dtype:数据类型,可选
  • delimiter:分割字符串,默认是任何空格
  • unpack:如果True,读入属性将分别写入不同变量

image-20230816161044431

image-20230816161059821

CSV文件的局限性

csv只能有效存储一维和二维数组,np.savetxt() np.loadtxt()只能有效存储一维和二维数组

多维数据的存取

任意维度数据如何存取呢?

a.tofile(frame, sep='', format='%s')
  • frame:文件、字符串
  • sep:数据分割字符串,如果是空串(默认),写入文件为二进制
  • format:写入数据的格式

image-20230816161712354

a.fromfile(frame, dtype=float, count=-1, sep='')

frame:文件、字符串

dtype:读取的数据类型(默认float)

count:读入元素个数,-1表示读入整个文件(默认count=-1)

sep:数据分割字符串,如果是空串,写入文件为二进制

image-20230816162854008

image-20230816162905857

注意:a.fromfile()方法需要读取时知道存入文件时数组的维度和元素类型。np.tofile()和np.fromfile()需要配合使用可以通过元数据文件来存储额外信息

Numpy的便捷文件存取(主要用于解决多维度数据的存取)

np.save(fname, array)或np.savez(fname, array)

  • fname:文件名,以.npy为扩展名,压缩扩展名为.npz
  • array:数组变量

np.load(fname)

  • fname:文件名,以.npy为扩展名,压缩扩展名为.npz

image-20230816164758039

Numpy的随机数函数

Numpy的random子库np.random.*

  • np.random.randn()
  • np.random.rand()
  • np.random.randint()

np.random的随机数函数(1)

image-20230816165315862

image-20230816165708276

image-20230816165723341

image-20230816165734563

image-20230816185156121

注意:通过设置随机数种子seed可以得到确定的,一致的结果。

np.random的随机数函数(2)

image-20230816185351794

image-20230816190708133

image-20230816190932391

image-20230826163021734

np.random的随机数函数(3)

image-20230816191750726

image-20230816192154070

补充:numpy数组的维度称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为1,二维数组的秩为2,以此类推。在numpy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如:二维数组相当于是两个一维数组,其中第一个一维数组中的每个元素又是一个一维数组。所以一维数组就是numpy中的轴(axis),第一个轴相当于底层数组,第二个轴是底层数组里的数组。而轴的数量--秩,就是数组的维数。例如:axis=0,表示沿着第0轴进行操作,即对每一列进行操作,axis=1,表示沿着第1轴进行操作,即对每一行进行操作。

Numpy的统计函数

numpy直接提供的统计类函数 np.*

Numpy的统计函数(1)

image-20230827092844938

image-20230827093300828

image-20230827094631234

Numpy的统计函数(2)

image-20230827095014150

image-20230827100646887

Numpy的梯度函数

image-20230827101953282

梯度:连续值之间的变化率,即斜率

XY坐标轴连续三个x左表对应的Y轴值:a,b,c,其中,b的梯度是:(c-a)/2

image-20230827102325361

image-20230827102614650

单元小结

数据存取与函数

image-20230827102654467

image-20230827102705239

标签:文件,frame,random,数组,np,Numpy
From: https://www.cnblogs.com/codingbao/p/17659944.html

相关文章

  • pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
    pipinstallnumpy-ihttps://pypi.tuna.tsinghua.edu.cn/simpleLookinginindexes:https://pypi.tuna.tsinghua.edu.cn/simpleCollectingnumpyDownloadinghttps://pypi.tuna.tsinghua.edu.cn/packages/8b/d9/22c304cd123e0a1b7d89213e50ed6ec4b22f07f1117d64d28f81c08......
  • NumPy学习挑战第十二关-数组操作
    Numpy数组操作Numpy中包含了一些函数用于处理数组,大概可分为以下几类:1、修改数组形状函数 描述reshape 不改变数据的条件下修改形状flat 数组元素迭代器flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组ravel 返回展开数组(1)numpy.reshapenumpy.reshape函数......
  • NumPy 从已有的数组创建数组
    NumPy从已有的数组创建数组1、numpy.asarraynumpy.asarray类似numpy.array,但numpy.asarray参数只有三个,比numpy.array少两个。numpy.asarray(a,dtype=None,order=None)a:任意形式的输入参数,可以是,列表,列表的元组,元组,元组的元组,元组的列表,多维数组;dtype:数据类......
  • python DLL load failed while importing numpy_ops 异常
    安装https://aka.ms/vs/17/release/vc_redist.x64.exe原文章地址:ImportError:DLLloadfailedwhileimportingnumpy_ops:Thespecifiedmodulecouldnotbefound·Issue#2773·Significant-Gravitas/Auto-GPT·GitHub......
  • numpy介绍
    1.概述NumPy是一个Python库,用于数值计算和处理数组。它是其他数据分析和机器学习库的底层库,提供了高效的多维数组运算功能。NumPy完全使用标准C语言实现,以提高运行效率。它是一款开源免费的库。并于1995年由Numeric项目发展而来。在2001年,Numpy被集成到Scipy库中,并进一步扩展......
  • numpy中的索引下标为None的各种情况
    REFhttps://zhuanlan.zhihu.com/p/486373530?utm_id=0 None实际上是增加了一个维度,它不是原维度的索引。以一维为例x=np.arange(3)#array([0,1,2])(注意,这个一维数组的shape是(3,),而不是(1,3),初学者很容易犯错。)如果想把x的shape变成(1,3),只需要把None放在第一个......
  • Numpy(一)
    Numpy数据的维度从一个数据到一组数据维度:一组数据的组织形式一维数据一维数据由对等关系的有序或无序数据构成,采用线性方式组织,对应列表、数组和集合等概念列表和数组区别列表:数据类型可以不同数组:数据类型相同二维数据二维数据由多个一维数据构成,是一维数据的组......
  • C++ 调用 Python 接口 Mat转Numpy
    参考网站:https://blog.csdn.net/qq7835144/article/details/106073110?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242https://blog.csdn.net/weixin_46400740/article/details/116711323?spm=1001.2014.3001.5501 1、配......
  • 软件测试|Python科学计算神器numpy教程(五)
    NumPy的高级索引功能前言NumPy是Python中最受欢迎的科学计算库之一,它提供了丰富的功能来处理和操作数组数据。在本文中,我们将深入了解NumPy的高级索引功能,这些功能允许我们根据特定条件或索引数组来访问和修改数组的元素,为数据科学和数组操作提供了更大的灵活性和控制力。NumP......
  • 软件测试|Python科学计算神器numpy教程(六)
    NumPy的广播机制前言NumPy是Python中最受欢迎的科学计算库之一,它提供了高性能的多维数组对象和丰富的数组操作功能。其中,广播机制是NumPy的重要特性之一,它允许不同形状的数组进行算术运算,提供了灵活而高效的数组操作能力。在本文中,我们将深入探讨NumPy的广播机制,以便更好地理解......