numpy中ndarray数据结构简介

一、综述

  1、ndarray的本质是:对象

     2、ndarray是numpy中的数据结构(叫做:n维数组),是同构数据多维容器,所有元素必须是相同类型

  3、面向数组的编程和思维方式:用简洁的数组表达式代替循环写法,通常叫做 --‘矢量化’

二、ndarray属性:   

  1、ndarray.ndim:数组的维数(即数组轴的个数,也被称作为  秩 )。

  2、ndarray.shape:数组的维数、维度,返回一个元组,这个元组的长度就是维度的数目,即ndim属性。比如2排3列的矩阵,其shape就是二元组(2,3)

  3、ndarray.size:数组元素的总个数,等于shape属性的 元组中各元素的乘积。

  4、ndarray.dtype:表示数组中元素类型的对象

  5、itemsize : 数组中 每个元素 占用的 字节大小

  特殊,ndarray对象可 通过 reshape() 方法,重新组织数组的维数维度(即数组的形状),其中用 -1代表自动推断某维度的维数

三、创建ndarray对象

  3种方式: (1)从python的基础数据对象转化; (2)通过numpy内置函数生成 ; (3)从硬盘(文件)中直接读取

  3.1 直接从list对象创建

    a = np.array([1,2,3,4,5])  # array([1,2,3,4,5])

    b = np.array([1,2,3,4,5],dtype=np.float)   #  array([1.,2.,3.,4.,5.])   创建时直接转换数据类型

    c = a.astype(np.float64)   #array([1.,2.,3.,4.,5.])   创建后,通过内置的astype() 函数,转换数据类型

  3.2 通过numpy内置函数生成

    

  3.3  从硬盘(文件)中直接读取

    numpy.loadtxt()

      参数:

         fname :文件 或者文件路径(字符串),支持压缩的数据文件 包括gz、bz

         dtype:数据类型,默认为float64(64位双精度浮点数)

         comments: 字符串或 字符串组成的列表,默认为# , 是表示注释字符集开始的标志

         delimiter: 字符串,用来分割多个列的分隔符,默认 为 空格

            converters: 字典, 用于将特定列的数据,转换为字典中对应的函数的浮点型数据,默认为空

            skiprows : 正整数n,读取时跳过前n行,默认为零

            usecols : 元组(元组内数据为列的数值索引), 用来指定要读取数据的列(第一列为0),默认为空

         unpack: 布尔值(True/False), 用来指定是否转置

         ndmin : 整数型,值域为0、1、2,默认为0, 用于指定返回的数组至少包含特定维度的数组

    numpy.savetxt()

四 、ndarray数据类型

  

  

原文地址:https://www.cnblogs.com/wl413911/p/11320615.html

时间: 2025-01-17 23:02:28

numpy中ndarray数据结构简介的相关文章

numpy中的ndarray方法和属性

原文地址 NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数组,而这个一维数组中每个元素又是一个一维数组.所以这个一维数组就是NumPy中的轴(axes),而轴的数量--秩,就是数组的维数. Numpy库中的矩阵模块为ndarray对象,有很多属性:T,data, dtype,flags,flat,imag,real,size, itemsize,

numpy中的matrix和array

Preface 在相关聚类算法的实现过程中,用python语言实现,会经常出现array和matrix的混淆,这里做个总结. array数组 numpy中最基本(默认)的类型是array,他的相关操作都是按元素操作的即用作数值计算当中(按元素操作有+,-,,/,*等).相乘举例: from numpy import * >>> a=array([1,2]) >>> a array([1, 2]) >>> b=array([2,3]) >>&

Numpy中使用矩阵

http://blog.csdn.net/pipisorry/article/details/39088003 Numpy是Python中的一个矩阵计算包,功能类似于MATLAB的矩阵计算. 具体参见http://www.numpy.org/.安装Pythonxy时已经包含了numpy包及其依赖包. (1) 定义矩阵 >>> from numpy import * >>> a = array([[1,2.2,3],[4,5,6]]) >>> a.ndi

numpy中matrix的特殊属性

一.matrix特殊属性解释 numpy中matrix有下列的特殊属性,使得矩阵计算更加容易 摘自 NumPy Reference Release 1.8.1 1.1 The N-dimensional array (ndarray) An ndarray is a (usually fixed-size) multidimensional container of items of the same type and size. 摘自 NumPy Reference Release 1.9.1

Numpy中的flatten是按照什么方式进行工作。

a = [[[1,2],[3,4]],[[5,6],[7,8]]] a = np.ndarray(a) array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) type(a) numpy.ndarray a.flatten() array([1, 2, 3, 4, 5, 6, 7, 8]) 从上面可以 看出,numpy中的flatten是按照行进行,在按照列,最后按照通道. 就这样子

Numpy 中tile(A, reps)方法

官方文档: 个人理解: 返回值 ndarray,该函数是通过reps重复A后得到一个多位数组, 有点绕... 参数 A几乎可以是全体类型, array, list , tuple, dict, matrix, int, long ,str, bool 等等 reps,类型也很多, array, tuple, list, dict ,int ,long, bool 但是不管怎样都必须是 "一维数组(不一定是数组, 这里说成类一维数组)" , 如[1,2,3,4] , (1,2,3)或 3

numpy 中的reshape,flatten,ravel 数据平展,多维数组变成一维数组

numpy 中的reshape,flatten,ravel 数据平展,多维数组变成一维数组 import numpy as np 使用array对象 arr1=np.arange(12).reshape(3,4) print(arr1) print(type(arr1)) [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] <class 'numpy.ndarray'> flatten 展平 a=arr1.flatten() # 默认参数order=C,按照行进行展平:o

numpy中矩阵

矩阵 Numpy中矩阵是ndarray的子类, 矩阵是二维的 Key_Function 1. 将字符串转为矩阵, 矩阵的行与行之间用分号隔开, 行间元素用空格隔开 2. 将Numpy的数组(如np.arange(9))转成矩阵 T属性: 获得矩阵的转置 I属性: 获得矩阵的逆矩阵 Code import numpy as np A = np.mat('1 2 3; 4 5 6; 7 8 9') print(A) ''' [[1 2 3] [4 5 6] [7 8 9]] ''' print(A.

Python与线性代数——Numpy中的matrix()和array()的区别

Numpy中matrix必须是2维的,但是 numpy中array可以是多维的(1D,2D,3D····ND).matrix是array的一个小的分支,包含于array.所以matrix 拥有array的所有特性. matrix() 和 array() 的区别,主要从以下方面说起: 矩阵生成方式不同 import numpy as np a1 = np.array([[1, 2], [3, 4]]) b1 = np.mat([[1, 2], [3, 4]]) a2 = np.array(([1,