array numpy 模块
高级用法: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 模块的更多相关文章
- Python科学计算—numpy模块总结(1)
作为一个本科学数学专业,目前研究非线性物理领域的研究僧.用什么软件进行纯科学计算好,Fortran永远是第一位的:matlab虽然很强大,可以很容易的处理大量的大矩阵,但是求解我们的模型(有时可能是几 ...
- Python:基本运算、基本函数(包括复数)、Math模块、NumPy模块
基本运算 x**2 : x^2 若x是mat矩阵,那就表示x内每个元素求平方 inf:表示正无穷 逻辑运算符:and,or,not 字典的get方法 a.get(k,d) 1 1 get相当于一条if ...
- 【Python 数据分析】Numpy模块
Numpy模块可以高效的处理数据,提供数组支持.很多模块都依赖他,比如:pandas.scipy.matplotlib 安装Numpy 首先到网站:https://www.lfd.uci.edu/~g ...
- python numpy模块
目录 numpy模块 一维数组 二维数组(用的最多的) 获取多维数组的行和列 多维数组的索引 高级功能 多维数组的元素的替换 通过函数方法创建多维数组 矩阵的运算 点乘和转置(了解) 点乘必须 m*n ...
- numpy模块(对矩阵的处理,ndarray对象)
6.12自我总结 一.numpy模块 import numpy as np约定俗称要把他变成np 1.模块官方文档地址 https://docs.scipy.org/doc/numpy/referen ...
- Python3:numpy模块中的argsort()函数
Python3:numpy模块中的argsort()函数 argsort函数是Numpy模块中的函数: >>> import numpy >>> help(nu ...
- 3 numpy模块
Numpy 什么是Numpy:Numeric Python Numpy模块是Python的一种开源的数值计算扩展. 1 一个强大的N维数组对象Array ...
- 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 ...
- Pathon中numpy模块
目录 numpy模块 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 fromstring/fromfunctions 矩阵的运算 常用矩阵运函数 矩阵的点乘 矩阵的逆 矩阵的其他操作 nump ...
随机推荐
- 【android】 adb logcat命令查看并过滤android输出log
cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...
- js的自定义事件
js中的事件是js的一大技术点,说白了就是操作dom树的唯一途径. 关于事件无非两种绑定方式: document.getElementById('xxx').onclick = function(){ ...
- typescript-dva脚手架
2019有太多的东西想尝试,ts,GraphQL,SSR,docker,python,electron,小程序云后台,vue3等等,一个个来吧,用两天了解了下typescript,大概做了个webpa ...
- RDD之四:Value型Transformation算子
处理数据类型为Value型的Transformation算子可以根据RDD变换算子的输入分区与输出分区关系分为以下几种类型: 1)输入分区与输出分区一对一型 2)输入分区与输出分区多对一型 3)输入分 ...
- Java-Runoob-高级教程-实例-数组:05. Java 实例 – 数组输出
ylbtech-Java-Runoob-高级教程-实例-数组:05. Java 实例 – 数组输出 1.返回顶部 1. Java 实例 - 数组输出 Java 实例 以下实例演示了如何通过循环输出数 ...
- [转]Oracle 中计算时间间隔的SQL 语句
' second as TSec from dual -- 计算 60秒 前的时间 ' minute as TMin from dual -- 计算 10分 前的时间 ' hour as UTCTim ...
- Windows 8的用户模式Shim Engine小探及利用
转载: https://bbs.pediy.com/thread-175483.htm Windows Shim Engine,即Windows 兼容性模式实现引擎,在exe文件的属性对话框中有一个兼 ...
- 如何使用App.config文件,读取字符串?
如何使用App.config文件,读取字符串? .在项目里添加App.config文件,内容如下: <?xml version="1.0" encoding="ut ...
- ExtJS模版技术
学习ExtJS一段时间以后,大家基本都会对于一些显示数据的组件不太符合需求,可能自己需要的组件在ExtJS里面不存在,这是大家基本就会使用Html属性,直接使用Html进行绘制页面数据展现. 但是,使 ...
- SpringBoot入门篇--热部署
在项目的开发过程中我们难免会涉及到对代码的修改,有bug我们也需要对代码进行修改,这时候我们就需要重启服务器.但是,我们知道的是这个过程是相当的痛苦的,重启服务器涉及到了所有资源的重新加载,过程那是相 ...