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() 方法一定会创建新的数组(原始数据的一个拷贝),即使两个类型一致
     
  • 相关阅读:
    Python创建空DataFrame及添加行数据
    Python读取Excel文件
    Python拆分DataFrame
    Python中识别DataFrame中的nan
    Python线性回归算法【解析解,sklearn机器学习库】
    Python鸢尾花分类实现
    Python机器学习入门
    Python使用map,reduce高阶函数模拟实现Spark的reduceByKey算子功能
    Python参数传递(传值&传引用)
    Python迭代器
  • 原文地址:https://www.cnblogs.com/mysterious-killer/p/9895446.html
Copyright © 2011-2022 走看看