zoukankan      html  css  js  c++  java
  • ndarray 数组的创建和变换

    ndarray数组的创建方法
    1.从python中的列表,元组等类型创建ndarray数组
    x = np.array(list/tuple)
    x = np.array(list/tuple,dtype=np.float32)
     
    当np.array() 不指定dtype时,Numpy 将根据数据情况关联一个dtype类型
     
    2.使用Numpy中函数创建ndarray数组,如:arange,ones,zeros 等
    np.arange(n) 类似range90函数,返回ndarray类型,元素从0到n-1
    np.ones(shape) 根据shape生成一个全1数组,shape是元组类型
    np.zeros(shape) 根据shape生成一个全0数组,shape是元组类型
    np.full(shape,val) 根据shape生成一个数组,每个元素都是val
    np.eye(n) 创建一个正方的n*n单位矩阵,对角线为1,其余为0
     
    np.noes_like(a) 根据数组a的形状生成一个全是1数组
    np.zeros_like(a) 根据数组a 的形状生成一个全0数组
    np.full_like(a,val) 根据数组a的形状生成一个数组,每个元素值都是val
     
    np.linspace() 根据起止数据等间距地填充数据,形成数组
    np.concatenate() 将两个或多个数组合并成一个新的数组
    # ndarray 数组的创建方法
    import numpy as np
    
    a = np.linspace(1,10,4)
    a
    # array([1.,4.,7.,10.,])
    b = np.linspace(1,10,4endpoint=False)
    b
    # array([1.,3.25,5.5,7.75,]) 
     
    3.从字节流(raw bytes)中创建ndarray数组
    4.从文件中读取特定格式,创建ndarray数组
     
    ndarray数组的变换
    对于穿件后的ndarray数组,可以对其进行维度变换和元素类型变换
    a = np.ones((2,3,4),dtype = np.int32)
     
    ndarray数组的维度变换
    .reshape(shape) 不改变数组元素,返回一个shape形状的数组,原数组不变
    .resize(shape) 与.reshape()功能一致,单修改原数组
    .swapaxes(ax1,ax2) 将数组n个维度中两个维度进行调换
    .flatten() 对数组进行降维,返回折叠后的一维数组,原数组不变
     
    ndarray数组的类型变换
    new_a = a.astype(new_type)
    astype() 方法一定会创建新的数组(原始数据的一个拷贝),即使两个类型一致
     
  • 相关阅读:
    Eclipse安装Hadoop插件
    (转)Ubuntu14.0.4中hadoop2.4.0伪分布模式配置
    Hadoop--DataNode无法启动
    启动与关闭hadoop
    hadoop中执行命令时发生错误
    strings命令
    Deriving data from ElasticSearch Engine
    elasticsearch data importing
    reading words in your computer and changing to female voice, linux festival text2wave saving wav files
    DDNS client on a Linux machine
  • 原文地址:https://www.cnblogs.com/mysterious-killer/p/9895446.html
Copyright © 2011-2022 走看看