首页 > 编程语言 >python每日学习:numpy库的用法(上)

python每日学习:numpy库的用法(上)

时间:2024-07-23 20:54:19浏览次数:15  
标签:python dtype random 用法 np 数组 创建 print numpy

python每日学习10:numpy库的用法(上)

  • 下载numpy库

    pip install numpy
    
  • 检测环境是否安装

    import numpy
    import numpy as np
    a=np.arange(10)
    print(a)
    
  • array创建数组

    名称描述
    dtype数组元素的数据类型,可选
    copy对象是否需要复制,可选
    order创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
    subok默认返回一个与基类类型一致的数组
    ndmin指定生成数组的最小维度
    object数组或嵌套的数列
    #numpy模块的array函数可以生成多维数组。
    #numpy的格式:numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)
    #创建一维
    a=np.array([1,2,3,4,5,6,7,8])
    print(a)
    print("a数组的维度:",a.shape)
    #创建二维
    a1=np.array([[1,2,3],[4,5,6],[7,8,9]])
    print(a1)
    print("a1数组的维度:",a1.shape)
    #ndmin参数的使用
    a3=np.array([1,2,3,4,5,6],ndmin=3)
    print(a3)
    #dtype的使用
    a4=np.array([1,2,3,4,5,6],dtype=np.float32)
    print(a4)
    
  • arange创建数组

    名称描述
    start起始值,默认为0
    stop终止值(不包含)
    step步长,默认为1
    atype返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型。
    #arange的格式:numpy.arange(start,stop,step,dtype)
    #arange生成0到5的数组
    b=np.arange(0,6,dtype=int)
    print(b)
    #arange设置了起始值、终止值及步长
    b1=np.arange(10,20,2)
    print(b1)
    # arange创建二维数组
    b2=np.array([np.arange(1,4),np.arange(4,7),np.arange(7,10)])
    print(b2)
    print("b2数组的维度:",b2.shape)
    
  • 随机数创建

    名称描述
    seed确定随机生成器种子
    permutation返回一个序列的随机排列或返回一个随机排列的范围
    shuffle对一个序列就地随机排列
    rand产生均匀分布的样本值
    randint该方法有三个参数low、high、size三个参数。默认high是None,如果只有low,那范围是[0,low)。如果有high,范围就是[low,high)。
    random(size=None)该方法返回[0.0, 1.0)范围的随机数。
    randn(d0,d1,…,dn)randn函数返回一个或一组样本,具有标准正态分布(期望为0,方差为1)。dn表格每个维度,返回值为指定维度的array
    random模块包含了很多方法可以用来产生随机数
    #随机数:返回[0.0, 1.0)范围的随机数。格式:numpy.random.random(size=None)
    c=np.random.random(size=4)
    c1=np.random.random(size=(3,4))
    print(c)
    print(c1)
    # 随机整数:该方法有三个参数low、high、size三个参数。默认high是None,如果只有low,那范围就是[0,low)。如果有high,范围就是[low,high)
    #格式 :numpy.random.randint()
    c2=np.random.randint(5,size=8)
    print(c2)
    c3=np.random.randint(5,12,size=10)
    print(c3)
    c4=np.random.randint(5,10,size=(3,5))
    print(c4)
    
  • 正态分布

    # 正态分布:randn函数返回一个或一组样本,具有标准正态分布(期望为0,方差为1)。dn表示每个维度返回值为指定维度的数组
    #格式:numpy.random.randn(d0,d1,...,dn)
    d=np.random.randn()
    print(d)
    d1=np.random.randn(2,4)
    print(d1)
    d2=np.random.randn(4,2,3)
    print(d2)
    # 指定期望和方差的正太分布
    #正太分布(高斯分布)loc:期望 scale:方差 size 形状
    d3=np.random.normal(loc=3,scale=4,size=(2,3,2))
    print(d3)
    
  • ndarray对象

    名称描述
    .ndim秩,即轴的维度或维度的数量
    .shapendarray对象的尺度,对于矩阵,n行m列
    .sizendarray对象元素的个数,相当于shape的n*m的值
    .dtypendarray对象的元素类型
    .itemsizendarray对象中每个元素的大小,以字节为单位
    #ndarray对象: N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。
    e=np.random.randint(10,size=6)
    e1=np.random.randint(10,size=(3,4))
    e2=np.random.randn(3,4,5)
    print('ndim属性'.center(20,'*'))
    print('ndim',e.ndim,e1.ndim,e2.ndim)
    print('shape',e.shape,e1.shape,e2.shape)
    print('dtype',e.dtype,e1.dtype,e2.dtype)
    print('size',e.size,e1.size,e2.size)
    print('itemsize',e.itemsize,e1.itemsize,e2.itemsize)
    
  • zeros创建

    # zeros创建:创建指定大小的数组,数组元素以 0 来填充
    # 格式:numpy.zeros(shape,dtype=float,order='c'
    f=np.zeros(5)
    print(f)
    f1=np.zeros((5,),dtype=int)
    print(f1)
    f2=np.zeros((2,2))
    print(f2)
    # zeros_like:根据传入的数组形状创建全为0的数组
    ff=np.array([[2,2,2],[3,4,5],[6,7,8]])
    f3=np.zeros_like(ff)
    print(f3)
    
  • ones创建

    # ones创建:创建指定形状的数组,数组元素以 1 来填充。
    # 格式:numpy.ones(shape,dtype=None,order='c')
    g=np.ones(5)
    print(g)
    g1=np.ones((3,4),dtype=int)
    print(g1)
    g2=np.ones_like(g1)
    print(g2)
    
  • empty创建

    #empty创建创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组,里面的元素的值是之前内存的值
    # 格式:numpy.empty(shape,dtype=floar,order='c')
    h=np.empty([3,2],dtype=int)
    print(h)
    h1=np.empty_like(h)
    print(h1)
    h2=np.empty(10,dtype=int)
    print(h2)
    h3=np.arange(5)
    h4=np.add(2,h3,out=h2[:5])
    print(h4,h2)
    
  • full()创建

    # full()创建:创建全为某个指定值的数组
    #格式:full(shape,fill_value)
    i=np.full((2,2,3),3)
    print(i)
    
  • 创建单位矩阵

    # 创建单位矩阵:单位矩阵从左上角到右下角的对角线上的元素均为1,除此以外全都为0。任何矩阵与单位矩阵相乘都等于本身,而且单位矩阵因此独特性在高等数学中也有广泛应用。
    i1=np.eye(3,dtype=int)
    print(i1)
    i2=np.identity(3,dtype=int)
    print(i2)
    
  • linspace创建

    名称描述
    start序列的起始值
    stop序列的终止值,如果endpoint为true,该值包含于数列中
    num要生成的等步长的样本数量,默认为50
    endpoint该值为 ture 时,数列中中包含stop值,反之不包含,默认是True。
    retstep如果为 True 时,生成的数组中会显示间距,反之不显示。
    dtypendarray 的数据类型
    linspace创建等差数列
    #linspace创建:linspace函数用于创建一个一维数组,数组是一个等差数列构成的
    #格式:np.linspace(start,stop,num=50,endpoint=True,resource=False,dtype=None)
    # start 
    # stop 
    # num 
    # endpoint 
    # retstep 
    # dtype 
    #linspace
    j=np.linspace(1,10,10)
    print(j)
    # linspace创建等差数列endpoint 设为 true
    j1=np.linspace(10,20,5,endpoint=True)
    print(j1)
    j2=np.linspace(1,5,num=5,endpoint=False)
    print(j2)
    
  • logspace 创建

    logspace 创建
    
  • 一维数组索引和切片

    #:ndarray对象的内容可以通过索引或切片来访问和修改,与 Python中 list 的切片操作一样。ndarray 数组可以基于 0 - n 的下标进行索引,并设置 start, stop及 step 参数进行,从原数组中切割出一个新数组。
    # 一维数组索引和切片的使用
    l=np.array(10)
    # l[2]
    # l[2:7:2]
    # l[2:]
    # 一维数组负索引和切片的使用
    # l[-2]
    # l[-2:]
    # 二维数组的索引和切片
    # 索引直接获取
    l1=np.arange(1,13)
    l2=l1.reshape((4,3))
    print(l2)
    print(l2[1])
    print(l2[2][1])
    # 使用坐标获取数组[
    print(l2[:,1])
    print(l2[2,1])
    print(l2[::2,0])
    print(l2[(2,3),(1,0)])#同时获取第三行第二列,第四行第一列
    # 二维数组负索引的使用
    print(l2[-1])#获取最后一行
    print(l2[::-1])#行进行倒序
    print(l2[::-1,::-1])#行列都倒序
    # 切片数组的复制
    l3=np.arange(1,13).reshape((3,4))
    l4=l3[:2,:2]
    l4[0][0]=11111
    print(l4)
    l4=np.copy(l3[:2,:2])
    l4[0][0]=2222
    print(l4)
    
  • 改变数组的维度

    # 改变数组的维度:通过reshape方法可以将一维数组变成二维、三维或者多维数组,也可以通过reshape方法将多维数组变成一维。
    m=np.arange(24)#创建一维的数组
    m1=m.reshape(2,3,4)#使用reshape将一维数组变成三维数组
    m2=m.reshape(3,8)#将a变成二维数组
    m.reshape(-1)#将多维数组变成一维数组
    # 通过ravel方法或flatten方法可以将多维数组变成一维数组。改变数组的维度还可以直接设置Numpy数组的shape属性(元组类型),通过resize方法也可以改变数组的维度。
    m3=m1.ravel()#使用ravel函数将三维的m1变成一维的数组
    m4=m2.flatten()#使用flatten函数将二维的m2变成一维的数组
    m1.shape=(6,4)#使用shape属性将三维的m1变成二维数组(6行4列)
    m1.resize((2,12))#使用resize修改数组的维度
    

标签:python,dtype,random,用法,np,数组,创建,print,numpy
From: https://blog.csdn.net/mohanyelong/article/details/140644610

相关文章

  • 用Python玩转Excel的五大功能!
    在数据分析和处理的过程中,Excel一直是备受欢迎的工具。然而,手动操作Excel既费时又容易出错。幸运的是,Python可以让你高效且智能地操作Excel文件,极大提升工作效率。那么,如何用Python玩转Excel呢?  Python可以为我们提供哪些强大的功能来处理Excel文件,使得我们的数据处理工作更......
  • java中assert用法
    java中assert用法一、java为什么源码框架都用assert调试1、一般是做单元测试的时候用(比如Junit),其它的地方也可以使用,但是基本上没人用,因为在其它的地方判断语句比断言好用。2、如果表达式计算为false,那么系统会报告一个Assertionerror。3、由于assert是一个新关键字,使用老......
  • Python贝叶斯、transformer自注意力机制self-attention个性化推荐模型预测课程平台学
    全文链接:https://tecdat.cn/?p=37090原文出处:拓端数据部落公众号 分析师:KungFu近年来,在线课程凭借便捷的网络变得越来越流行。为了有更好的用户体验,在线课程平台想要给用户推荐他们所感兴趣的课程,以便增大点击率和用户黏性。解决方案任务/目标根据学生所选的历史课程,预测出......
  • 知识清单|Python入门必备基础知识点
    1.数据类型和变量1.1缩进和注释的规则Python使用缩进来表示代码块,通常使用四个空格或一个制表符。注释使用#开头。1.2基本数据类型Python支持多种基本数据类型,包括整数、浮点数、字符串、布尔值和空值。1.3变量的动态类型和赋值Python是动态类型语言,变量可......
  • 使用 Python 进行 A/B 测试
    使用Python进行A/B测试的简介A/B测试,也称为拆分测试,是一种统计方法,用于比较网页、电子邮件、产品等的两个版本,以确定哪个版本效果更好。目标是改善用户体验、参与度、转化率或其他关键指标。Python是一种流行的编程语言,用于实现A/B测试,因为它具有广泛的数据分析库和灵活......
  • Python返回类型注释
    声明函数时,我们应该使用返回注释吗?defgenerate_nine()->int:return9或者我们可以简单地这样写:defgenerate_nine():return9Python中的返回类型注解对代码的功能没有直接影响,但它们提供了几个重要的好处:优点:增强可读性:......
  • Python - 检查签名注释是否属于特定类
    使用forsigininspect.signature.parameters.items():ifisinstance(sig[1].annotation,inspect._empty):print("empty")时,我从来没有让控制台说打印“空”。即使在if子句之前使用print(sig[1].annotation)时给出的输出是:<class'inspect._e......
  • 从代码调用 alembic 命令后,Python 记录器不再记录
    我在代码中使用alembic在应用程序启动时应用数据库迁移。我还使用Python的内置logginglib来登录终端。应用迁移后(或运行任何打印到alembic的命令),我的记录器停止工作。stdout代码:预期输出:importloggingimportalembic.commandfr......
  • python 使用 random模块生成随机测试数据
    前言python中可以使用random模块生成随机测试数据常用函数说明random.seed(a)设置初始化随机种子,可输出相同随机数序列;a取整数或浮点数,不设置时默认以系统时间为种子random.random()生成一个0.0到1.0之间的随机浮点数random.uniform(a,b)生成一个[a,b]之间......
  • Python 上债券的内部收益率
    在Excel中,有一个公式(IRR.Payment:https://support.microsoft.com/fr-fr/office/fonction-tri-paiements-de1242ec-6477-445b-b11b-a303ad9adc9d)计算债券的IRR。我正在尝试在python算法上重现这一点,以便能够在我的代码中计算它。我在网上找到了这段代码:importnumpy......