zoukankan      html  css  js  c++  java
  • NumPy-生成ndarray

    NumPy ndarray:多维数组对象

    NumPy的核心特征之一就是 N-维数组对象——ndarray。

    ndarray是Python中的一个快速、灵活的大型数据集容器。数字允许你使用类似于标量的操作语法在整块数据上进行数学计算。

    首先要导入NumPy模块

    import numpy as np
    

    生成ndarray

    生成数组对象最简单的方式就是使用array函数。 array函数接收任意的序列型对象(当然也包括其他的数组),生成一个新的包含传递数据的NumPy数组。

    生成一维数组:

    data1 = [6,7.5,8,0,1]
    arr1 = np.array(data1)
    print(arr1)
    

    [6. 7.5 8. 0. 1. ]

    生成二维数组:

    data2 = [[1,2,3,4],[5,6,7,8]]
    arr2 = np.array(data2)
    print(arr2)
    print(arr2.ndim)
    print(arr2.shape)
    

    [[1 2 3 4]
    [5 6 7 8]]
    2
    (2, 4)

    ndim 与 shape

    这两个属性都是用来表示数组的。

    ndim 用来表示这个数组是几维的

    shape 用来表示这是一个几乘几的数组

    dtype

    除非显式的指定,否则 np.array 会自动推断生成数组的数据类型。 比如你的数组中如果有一个数字是浮点型的话 ,那么这个数据将会被自动推断为float型数组,并且数据类型将会被存储在一个特殊的元数据dtype中。

    print(arr1.dtype)
    print(arr2.dtype)
    

    float64
    int32

    numpy 生成数组的函数:

    函数名 | 描述

    -----------函数名----- 描述
    array 将输入数据(可以是列表、元组、数组以及其他序列)转换为ndarray,如不显式得指明数据类型, 将自动推断;默认复制所有的输入数据
    asarray 将输入转换为ndarray,但如果输入已经是ndarray则不再复制,他和array的区别在于,当数据源是ndarray对象时,array仍会copy出一个副本,占用新的内存,但是asarray不会
    arange Python内建函数range的数组版,返回一个数组例如 [1,2,3,4.....]
    ones 根据给定形状和数据类型生成全1的数组
    ones_like 根据所给的数组生成一个形状一样的全1的数组
    zeros 根据给定形状和数据类型生成一个全0数组
    zeros_like 根据所给的数组生成一个形状一样的全0数组
    empty 根据给定形状生成一个没有初始化数值的空数组
    empty_like 根据所给数组生成一个形状一样但是没有初始化数值的空数组
    full 根据给定的形状和数组类型生成指定数值的数组 np.full(形状,填充值,dtype=数据类型)
    full_like 根据所给数组生成一个形状一样但是内容是指定数值的数组,只需把形状参数改成一个ndarray对象就可以了
    eyes 生成一个N*N特征矩阵 ,对角线位置全都是1,其余位置都是0,两者的区别在于,前者可以控制矩阵的形状,而后者只能是正方形矩阵
  • 相关阅读:
    Avoiding React setState() Pitfalls(译)
    rax学习(十):实现微信消息长列表(LongList)之列表扩展
    rax学习(九):实现微信消息长列表(LongList)之配置透出
    rax学习(八):实现微信消息长列表(LongList)之性能优化
    rax学习(七):实现微信消息长列表(LongList)之性能监控
    rax学习(六):实现微信消息长列表(LongList)之业务埋点
    jQuery获取父 兄 子 节点
    css相关
    两端对齐justify
    js页面刷新的几种方法
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11716932.html
Copyright © 2011-2022 走看看