高级用法:http://www.jb51.net/article/87987.htm

from array import * 调用 array 与 import numpy as np  调用 np.array 的区别:

# a=array.array(‘c‘),决定着下面操作的是字符,并是单个字符

# a=array.array(‘i‘),决定着下面操作的是整数

>>> a=array.array(‘i‘)#整数,b与i类似

        >>> a.append(8)
        >>> a.append(81)
        >>> a
        array(‘i‘, [8, 81])#构成list  此时数组的长度还是2,前面的 i 只是一个指示性的标识,不构成数组的元素。

        >>> a=array.array(‘c‘)#单个字符

        >>> a.append(‘g‘)
        >>> a.append(‘g‘)
        >>> a
        array(‘c‘, ‘gg‘)#单个字符连接

* 用np.array调用array 不用要指示性标志:

b=np.array([2,3,4])

2、array形状

a=[1,2,3,4]

b=np.array(a)

b.shape  返回:(4,)  表示 b是一个 4列的向量,不是矩阵  ,这个b.shape值是一个元祖,可以提取其中的元素,比如:

1)b.shape[0:]  返回 (4,)

2)b.shape[1:]  返回 ()  ,这个返回表示 没有列,那么源数据是一个向量,不是矩阵

c=np.array([[1,2,3],[4,5,6]])

c.shape  返回:(2, 3)  表示是一个2行3列的矩阵

同理,

c.shape[0:]  返回 (2, 3)

c.shape[1:]  返回 (3,)  表示是3列 源数据是个矩阵

3、np.r_,np.c_

用法:concatenation function 
np.r_按行来组合数组,
np.c_按照colunm来组合数组

>>> a = np.array([1,2,3])

b = np.array([5,2,5]) >>>

//测试 np.r_

>>> np.r_[a,b]  array([1, 2, 3, 5, 2, 5])

>>> >>> //测试 np.c_ >>>

np.c_[a,b] array([[1, 5], [2, 2], [3, 5]])

>>> np.c_[a,[0,0,0],b] array([[1, 0, 5], [2, 0, 2], [3, 0, 5]])

4、np.linspace

np.linspace(-1,1,5)   #-1 开始 1 结束 ,产生5个数

array([-1. , -0.5,  0. ,  0.5,  1. ])

5、产生正态随机数和矩阵

numpy.random.normal(size=100)
numpy.random.normal(size=(10, 10))

value=np.random.normal(size=(204620, 50))
gender=np.random.randint(0,1,size=(1,204620))

6、np.argsort   #从小到大排列的索引值

b=np.array([1,5,3,4,9,6])

==>np.argsort(b)   => array([0, 2, 3, 1, 5, 4])

b[:-4:-1]   => array([6, 9, 4])  #倒着取(4-1=3) 个数

7、b=np.array([1,5,3,4,9,6])

x=('a','b','c','d','e','f')

让x 按照 b的由小到大的顺序排序的索引进行排序,再反向取3个值。

1)取b由小到达的排序的索引

np.argsort(b)       =》array([0, 2, 3, 1, 5, 4])

2)将x 按照上述的索引 进行排序:

np.array(x)[np.argsort(b)]     =》    array(['a', 'c', 'd', 'b', 'f', 'e'], dtype='|S1')

3)再反向取 3个值:

np.array(x)[np.argsort(b)][:-4:-1]    =》  array(['e', 'f', 'b'], dtype='|S1')

array numpy 模块的更多相关文章

  1. Python科学计算—numpy模块总结(1)

    作为一个本科学数学专业,目前研究非线性物理领域的研究僧.用什么软件进行纯科学计算好,Fortran永远是第一位的:matlab虽然很强大,可以很容易的处理大量的大矩阵,但是求解我们的模型(有时可能是几 ...

  2. Python:基本运算、基本函数(包括复数)、Math模块、NumPy模块

    基本运算 x**2 : x^2 若x是mat矩阵,那就表示x内每个元素求平方 inf:表示正无穷 逻辑运算符:and,or,not 字典的get方法 a.get(k,d) 1 1 get相当于一条if ...

  3. 【Python 数据分析】Numpy模块

    Numpy模块可以高效的处理数据,提供数组支持.很多模块都依赖他,比如:pandas.scipy.matplotlib 安装Numpy 首先到网站:https://www.lfd.uci.edu/~g ...

  4. python numpy模块

    目录 numpy模块 一维数组 二维数组(用的最多的) 获取多维数组的行和列 多维数组的索引 高级功能 多维数组的元素的替换 通过函数方法创建多维数组 矩阵的运算 点乘和转置(了解) 点乘必须 m*n ...

  5. numpy模块(对矩阵的处理,ndarray对象)

    6.12自我总结 一.numpy模块 import numpy as np约定俗称要把他变成np 1.模块官方文档地址 https://docs.scipy.org/doc/numpy/referen ...

  6. Python3:numpy模块中的argsort()函数

    Python3:numpy模块中的argsort()函数   argsort函数是Numpy模块中的函数: >>> import numpy >>> help(nu ...

  7. 3 numpy模块

    Numpy     什么是Numpy:Numeric Python         Numpy模块是Python的一种开源的数值计算扩展.             1 一个强大的N维数组对象Array ...

  8. Day 19 numpy 模块

    numpy 模块(多维数组) import numpy as np arr=np.array([1,2,3,4],[5,6,7,8]) print(arr) #[[1 2 3 4] #[5 6 7 8 ...

  9. Pathon中numpy模块

    目录 numpy模块 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 fromstring/fromfunctions 矩阵的运算 常用矩阵运函数 矩阵的点乘 矩阵的逆 矩阵的其他操作 nump ...

随机推荐

  1. ios获取安装的app

    http://www.iphonedevsdk.com/forum/iphone-sdk-development/22289-possible-retrieve-these-information.h ...

  2. 关于 android 返回键 代码实现

    转自:http://www.dewen.io/q/11313/android+%E6%A8%A1%E6%8B%9F%E8%BF%94%E5%9B%9E%E9%94%AE%E5%8A%9F%E8%83% ...

  3. 知识点查缺补漏贴03:单机最大进程数,线程数和Socket连接数

    前言: 参加Unix/Linux相关高级研发职位时,是否经常会被文档,单机允许最大进程数.线程数和Socket连接数,而你却感到束手无措呢?本文给你一个最为详细的答案. 一.最大进程数 运行Linux ...

  4. VS2010安装顽疾解决方法:error 25541 failed to open xml file

    一.问题描述 因为之前(2012)对HDFS客户端Thrift接口的库文件封装使用的是VS2010,最近考虑做一个完整的网盘系统的客户端,就把该库文件使用起来,比较悲剧的是之前做过操作系统的还原.我的 ...

  5. 一些css杂项笔记

    div[class*="col-"]{ background-color: gold; border: 1px solid #ccc; } //给class开头等于col-的div ...

  6. 子网掩码 解释 ---判断各部机器ip 是不是同一个网段

    主要作用是地址判断 编辑 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据. 最为简单的理解就是两台计算机各自的  IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,  则 ...

  7. Java设计原则之依赖倒转原则

    定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象:抽象不应该依赖细节:细节应该依赖抽象. 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成.这种场景下,类A一 ...

  8. [转]SQL SERVER 的排序规则

    如何更改SQL SERVER 2000的排序规则 -- 增加复合主键语句 Alter Table tableName Add primary key (field1,field2) Alter dat ...

  9. Notepad++ 删除空白行的方法(转)

    Notepad++ 是我特别喜欢的一款编程工具.在安装后就可以轻松使用了.Notepad++ 上提供了很多方便的插件以实现更多的扩展,当然自身已经比较强大好用了.如果你遇到文本中间有大量的空白行的话, ...

  10. Ubuntu登录系统失败的解决方案

    问题一: 只能用guest用户登录下,如何切换成普通用户登录 解决: 重启,同时按Esc建,直至进入到恢复模式下: 选择第一项,进入: 找到ro...那一行,把ro之后的删除,并把ro修改为rw si ...