zoukankan      html  css  js  c++  java
  • Python中numpy的应用

    #创建ndarray
    import numpy as np
    nd = np.array([2,4,6,'11'])#numpy中默认ndarray的所有元素的数据类型是相同,如果数据的类型不同,会统一为统一类型,优先级为str>float>int
    nd   # array(['2', '4', '6', '11'], dtype='<U11')
    
    
    
    # 使用np创建routines函数创建
    # (1)np.one(shape,dtype=None,order='C')创建数组
    # 根据所给的形状和类型返回一个元素全部为1的数组。默认numpy.float64类型
    # 参数:
    # shape:定义返回元祖的形状,传入int或者ints元祖,如果传入int,返一维数组
    #         如果传入ints元祖,返回多维数组
    # dtype:定义的数据类型,可选参数,默认numpy.float64.例如:numpy.int8
    # order:可选,返回多维数组时,内存的排列方式
    np.ones(shape=(5,4))  # 返回一个5行4列的数组,元素的内容都为1
    ones = np.ones(shape=(3,2,3), dtype=int)  # 返回3个两行三列都为1的数组
    
    # (2)np.zeros(shape,dtype=float,order='c')
    # 返回根据给定的形状和类型全部为0的数组
    np.zeros(shape=(5,4))  # 返回一个5行4列都为0的数组
    
    # (3)np.full(shape,fill_value,dtype=None,order='c')
    # 根据给定的形状和所填充的值,返回一个新的数组
    np.full(shape=(6,5,2), 1)  # shape可以理解为6个5行2列的数组,并且都是使用1填充。
    
    # (4)np.eye(N,M=None,k=0,dtype=float)
    # 返回一个对角线为1,其他位置为0的数组(可以理解为单位矩阵)
    # 参数:
    # N:返回数组的行数
    # M:可选,返回的数组的列表。如果不指定,返回的数组行=列
    # k:可选,指定对角线的位置
    # dtype:可选,返回数组的数据类型
    np.eye(3,3)  # 3行3列的数组,主对角线为1, 其余为0
    
    # (5)np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
    # 在指定的范围内返回均匀间隔的数字, 返回均匀分布的样本
    # 参数:
    # start: 序列的起始点
    # end: 序列的结束点
    # num: 生成的样本数, 默认是50个。
    np.linspace(1,10) # 50个元素的数组
    np.linspace(1,10,10) # array([  1.,2.,3., 4.,5.,6.,7.,8.,9.,10.]) -- 1-10分成10份
    
    # (6)np.arange([start,]stop,[step,]dtype=None)
    # 类似python原生的range()方法,只不过返回的是array。
    np.arange(0,100,step=2)  # 创建由偶数组成的数组
    
    # (7)np.random.randint(low,high=None, size=None, dtype="l")
    # 生成在区间[low,high)上的随机整数值;若high=None, 则取值区间变为[0,low), size为最大长度, 为整形和整形元组。
    np.random.randint(10,20) # 生成一个10-19之间的随机值
    np.random.randint(10,20,size=10) # 返回一个数组,包含10个随机整数
    np.random.randint(10,20,size=(2,3,4)) # 生成两个3行4列的随机值数组
    
    # (8)np.randn(d0,d1,...dn)
    # 标准的正太分布,参数为维度
    np.random.randn(10,5)  # 如果只给第一个参数为一维,给第二个参数为二维,...
    
    # (9)np.random.normal(loc=0.0, scale=1.0, size=None)
    # 正太分布函数
    # 参数:
    # loc : 浮点型, 概率分布的均值, 对应着整体分布的中心center
    # scale :浮点型, 概率分布的标准差
    # size : 整形或整形数组, 默认为None, 只返回一个值
    np.random.normal(175, scale=0, size=100)  # 概率分布的标准差为0, 返回100个元素的数组, 元素都为175
    np.random.normal(175, scale=100, size=100)  # 100个正太分布元素
    
    # (10)np.random.random(size=None)
    # 生成0到1的随机数。
    np.random.random(size=(5,4)) # 5行4列

    好好学习,天天向上

  • 相关阅读:
    Tarjan 算法 自学整理
    POJ 2395 Out of Hay
    Codevs 1557 热浪
    Codevs 2956 排队问题
    Codevs 1005 生日礼物
    集合
    奇怪的函数
    关押罪犯
    搭积木
    大数据
  • 原文地址:https://www.cnblogs.com/spp666/p/11978957.html
Copyright © 2011-2022 走看看