Numpy最重要的一个特点就是其N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器,是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的。

创建数组最简单的方法就是array函数,它接受一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的Numpy数组。

以一个列表为例:

 In [2]: import numpy as np

 In [3]: simple = [1,2.3,4,5]

 In [4]: arr = np.array(simple)

 In [5]: arr
Out[5]: array([ 1. , 2.3, 4. , 5. ])

嵌套序列(比如由一组等长列表组成的列表)将会被转换为一个多维数组:

 In [6]: simple1 = [[1,2,3,4],[5,6,7,8]]

 In [7]: arr1 = np.array(simple1)

 In [8]: arr1
Out[8]:
array([[1, 2, 3, 4],
[5, 6, 7, 8]]) In [9]: arr1.ndim 获得数组的维数
Out[9]: 2 In [10]: arr1.shape
Out[10]: (2, 4)

除非显示说明,np.array会尝试为新建的数组推断出一个较为合适的数据类型,数据类型保存在一个特殊的dtype对象中。

 In [12]: arr.dtype
Out[12]: dtype('float64') In [13]: arr1.dtype
Out[13]: dtype('int64')

除了np.array之外,还有一些函数也可以新建数组。比如zeros和ones分别可以创建指定长度或形状的全0或全1数组。empty可以创建一个没有任何具体值的数组。要用这些方法创建多维数组,只需传入一个表示形状的元祖即可。

 In [14]: np.zeros(10)
Out[14]: array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) In [15]: np.ones(10)
Out[15]: array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]) In [16]: np.empty((2,3))
Out[16]:
array([[ 0.00000000e+000, 8.20622089e-317, 4.65914971e-317],
[ 6.90846568e-310, 6.90847131e-310, 1.25836781e-316]])

arange是Python内置函数range的数组版

 In [17]: np.arange(10)
Out[17]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

数组创建函数

函数 说明
array 将输入数据(列表、元祖、数组或其他序列类型)转换为ndarray
asarray  将输入转换为ndarray,如果输入本身就是一个ndarray就不进行复制
arange 类似于内置的range,但返回的是一个ndarray而不是列表
ones、ones_like 根据指定的形状和dtype创建一个全1数组。ones_like以另一个数组为参数,并根据其形状和dtype创建一个全1数组
zeros、zeros_like 类似于ones和ones_like,只不过产生的是全0数组而已
empty、empty_like 创建新数组,只分配内存空间但不填充任何值
eye、identity     创建一个正方的NxN单位矩阵(对角线为1,其余为0)

创建ndarray的更多相关文章

  1. numpy 基于数值范围创建ndarray()

    基于数值范围创建函数创建ndarray 1 numpy.arange arange([start=0,] stop[, step=1,][, dtype=None]) >>> np. ...

  2. numpy 基于现有数据创建ndarray(from existing data)

    1 numpy.array array(object[, dtype=None, copy=True, order='K', subok=False, ndmin=0]) 2 numpy.asarra ...

  3. ndarray 数组的创建和变换

    ndarray数组的创建方法 1.从python中的列表,元组等类型创建ndarray数组 x = np.array(list/tuple) x = np.array(list/tuple,dtype ...

  4. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  5. 创建naarray(1)

    创建ndarray Numpy创建ndarray的方法比较够用,几乎也就是矩阵运算的常用的方法. 约定: import numpy as np 常用的创建ndarray的函数有:np.array, n ...

  6. NumPy 超详细教程(3):ndarray 的内部机理及高级迭代

    系列文章地址 NumPy 最详细教程(1):NumPy 数组 NumPy 超详细教程(2):数据类型 NumPy 超详细教程(3):ndarray 的内部机理及高级迭代 ndarray 对象的内部机理 ...

  7. 使用MXNet的NDArray来处理数据

    NDArray.ipynb NDArray介绍 机器学习处理的对象是数据,数据一般是由外部传感器(sensors)采集,经过数字化后存储在计算机中,可能是文本.声音,图片.视频等不同形式. 这些数字化 ...

  8. Python3NumPy——ndarray对象

    Python3NumPy——ndarray对象 1.前沿 推荐导入语法:import numpy as np NumPy中使用ndarray对象表示数组,ndarray是NumPy库的核心对象 2.创 ...

  9. NumPy 从已有的数组创建数组

    NumPy 从已有的数组创建数组 本章节我们将学习如何从已有的数组创建数组. numpy.asarray numpy.asarray 类似 numpy.array,但 numpy.asarray 只有 ...

随机推荐

  1. PR 审批界面增加显示项方法

    PR 审批界面增加显示项 解决方法 Step 1:       进入审批界面: Step 2:       在上图中,点击左下角'About this Page'查看数据源 点击上图中'Expand ...

  2. Graph Cut and Its Application in Computer Vision

    Graph Cut and Its Application in Computer Vision 原文出处: http://lincccc.blogspot.tw/2011/04/graph-cut- ...

  3. 客户信息全SQL

    SELECT hp.party_name "客户名称", --客户名称 hca.account_number "客户编号", --客户编号 hca.cust_a ...

  4. infiniDB在linux下完成倒库

    在网看到自己的文章被四处烂用,经常搜到自己的文章.关键是,你能把我头像删除了不,有本事,你 把网址也给出http://blog.csdn.net/longshenlmj/article/details ...

  5. JDBC详解(汇总)

    from:http://www.cnblogs.com/lee/archive/2007/08/25/869656.html:http://blog.csdn.net/lovesomnus/artic ...

  6. 深入浅出Cocoa多线程编程之 block 与 dispatch quene

    深入浅出 Cocoa 多线程编程之 block 与 dispatch quene 罗朝辉(http://www.cppblog.com/kesalin CC 许可,转载请注明出处 block 是 Ap ...

  7. SharePoint 列表项通过自定义WebService读取

    简述:给其他系统提供集成,发现SharePoint自带的WebService各种不好使,索性就自己写一点,也当做自己学习的记录了.当然内容比较简单,希望大侠们不要介意,也不要骂我啊.好了,进入正题吧. ...

  8. java垃圾回收总结(2)

    java垃圾回收总结(2)   上一篇文章 介绍了jvm虚拟机运行时内存结构以及如何标识需要回收的对象,这一节主要讲解垃圾回收的基本算法. 基本上 jvm内存回收有三种 基本算法 标记-清除 标记清除 ...

  9. Razor视图

    @{ string name="jerry";} <div> @name </div>     //显示jerry @{ string js="& ...

  10. Day12 前端html

    前端基础之HTML 老师博客: http://www.cnblogs.com/yuanchenqi/articles/6835654.html http://www.cnblogs.com/yuanc ...