一:numpy模块

ndarray:存储单一数据类型的多维数组

ufunc:能够对数组进行处理的函数(universal function object)

#numpy 中arange用法,指定开始值/终止值/步长来创建一维数组数组,但是数组不包括终值。
arange_array=np.arange(1,2,0.1)
re_arange_array=arange_array.reshape(2,5)#使用reshape重新定义数组的维度或者数组的大小
print "arange_array is array,it's %s " % arange_array
print "re_arange_array is:%s" % re_arange_array
#linspace函数通过指定开始值、终值和元素个数来创建一维数组,可以通过endpoint关键字指定
#是否包括终值,缺省设置是包括终值:
linspace_array=np.linspace(0, 1, 12)#创建的是等差数列!
print "linspace_array is: %s" % linspace_array
#logspace创建等比数列,产生起始值10^起始值,到10^终止值,n个值的一维数组
logspace_array=np.logspace(0,2,30)
print "logspace array is: %s" % logspace_array
def fun2(i,j):
return (i+1)*(j+1)
b=np.fromfunction(fun2,(9,9))
#fromfunction从函数创建数组,自定义函数,从函数中创建数组;
#frompyfunc的调用格式为frompyfunc(func, nin, nout),nin是此函数的输入参数的个数,nout是此函数的返回值的个数。
print 'b is:%s' %b

Data type objects (dtype) and 结构数组

数据类型(data type object, ie. numpy.dtype的实例)描述的是array对象怎样解析内存中的固定大小的内存段。它描素了数据的一下几个方面:

  1. 数据的类型(integer, float, Python object, etc.)
  2. 数据的大小(how many bytes is in e.g. the integer)
  3. 二进制位的存储顺序(little-endian or big-endian)
  4. 如果数据类型(data type)是一条记录,即其他数据类型的组合(e.g., describing an array item consisting of an integer and a float),这和C语言里面的struct类似。
  1. 记录的各个数据的名称是什么,怎么获取这个子数据。
  2. 每个子数据的的类型是什么。
  3. 每个子数据都使用哪一部分内存。
  1. 如果数据是一个子数组,它的形状是什么。

  

 import numpy as np;

persontype=np.dtype({ 'names':['name','age','weight'], 'formats':['S32','i','f']})
a = np.array([("zhuang",32,75.5),("wang",24,65.2)],dtype=persontype)
print a[1]['name']
print a.strides

扩展:常用tile函数和repeat函数扩展numpy模块

1:numpy.tile(A,B)函数:重复A,B次,这里的B可以时int类型也可以是元组类型

>>> import numpy
>>> numpy.tile([0,0],5)#在列方向上重复[0,0]5次,默认行1次
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
>>> numpy.tile([0,0],(1,1))#在列方向上重复[0,0]1次,行1次
array([[0, 0]])
>>> numpy.tile([0,0],(2,1))#在列方向上重复[0,0]1次,行2次
array([[0, 0],
[0, 0]])
>>> numpy.tile([0,0],(3,1))
array([[0, 0],
[0, 0],
[0, 0]])
>>> numpy.tile([0,0],(1,3))#在列方向上重复[0,0]3次,行1次
array([[0, 0, 0, 0, 0, 0]])
>>> numpy.tile([0,0],(2,3))<span style="font-family: Arial, Helvetica, sans-serif;">#在列方向上重复[0,0]3次,行2次</span>
array([[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]])

2:repeat(A):重复A次  repeat([A,B]):对应重复A次,B次

>>> from numpy import *
>>> repeat(7.,4)
array([ 7., 7., 7., 7.])
>>> a=array([10,20])
>>> a.repeat([3,2])
array([10, 10, 10, 20, 20])
>>> repeat(a,[3,2])
array([10, 10, 10, 20, 20])
>>> a=array([[10,20],[30,40]])
>>> a.repeat([3,2],axis=0)
array([[10, 20],
[10, 20],
[10, 20],
[30, 40],
[30, 40]])
>>> a.repeat([3,2],axis=1)
array([[10, 10, 10, 20, 20],
[30, 30, 30, 40, 40]])
>>>

3:sum函数:

sum(a,axis=0):普通的相加

sum(axis=1) :将一个矩阵的每一行向量相加

4:argsort函数:返回排序后元素在原对象中的下标,属于numpy中的函数

区别于sort函数和sorted函数

(1)、sort 只是list类型的内建函数,对其他非列表型序列不适用。

(2)、sorted是所有类型的内建函数 ,返回排序后的对象,原对象不改变。进阶:sorted(a,key=...,reversed=True)

a=array([(5,4,3,2,6),(7,8,0,1,9)])
>>> a
array([[5, 4, 3, 2, 6],
[7, 8, 0, 1, 9]])
>>> a.argsort()
array([[3, 2, 1, 0, 4],
[2, 3, 0, 1, 4]], dtype=int64)

5:zeros:创建0矩阵

二:spicy模块

python--numpy模块、spicy模块、 matplotlib模块的更多相关文章

  1. windows_64下python下载安装Numpy、Scipy、matplotlib模块

    本文应用的python3.6.3及其对应的Numpy.Scipy.matplotlib计算模块的cp36版本,其中Numpy是需要MKL版本的Numpy,这是后续安装Scipy的需要(本机系统win7 ...

  2. windows下python安装Numpy、Scipy、matplotlib模块(转载)

    python下载链接     Numpy下载链接 python中Numpy包的安装及使用 Numpy包的安装 准备工作 Python安装 pip安装 将pip所在的文件夹添加到环境变量path路径中 ...

  3. logging,numpy,pandas,matplotlib模块

    logging模块 日志总共分为以下五个级别,这五个级别自下而上进行匹配debug->info->warning->error->critical,默认的最低级别warning ...

  4. python 爬虫与数据可视化--matplotlib模块应用

    一.数据分析的目的(利用大数据量数据分析,帮助人们做出战略决策) 二.什么是matplotlib? matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB ...

  5. windows下python安装Numpy、Scipy、matplotlib模块

    来源http://blog.csdn.net/Katrina_ALi/article/details/64922107 http://blog.csdn.net/qq_16633405/article ...

  6. numpy+pandas+ matplotlib模块(day18)

    目录 numpy模块 二维数组 numpy数组的属性 T 数组的装置 dtype 数组元素的数据类型 size 数组元素的个数 ndim 数组的维数 shape数组的维度大小 astype 类型转换 ...

  7. Windows python 安装 nNumpy、Scipy、matplotlib模块

    折腾了 很久,总结一些. 首先如果python 是64位,安装32位的numpy ,Scipy,或者matplotlib 模块. 会出现很多问题. 比如当你 在python 导入 Numpy 时,导入 ...

  8. Python之matplotlib模块安装

    numpy 1.下载安装 源代码 http://sourceforge.net/projects/numpy/files/NumPy/ 安装 python2.7 setup.py install 2. ...

  9. Python中matplotlib模块解析

    用Matplotlib绘制二维图像的最简单方法是: 1.  导入模块 导入matplotlib的子模块 import matplotlib.pyplot as plt import numpy as ...

  10. day18-常用模块III (numpy、pandas、matplotlib)

    目录 numpy模块 创建矩阵 获取矩阵的行列数 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 矩阵的运算 矩阵的点乘与转置 矩阵的逆 矩阵的其他操作 numpy.random生成随机数 pa ...

随机推荐

  1. 【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)

    两个月之前准备软考时,简单的从理论上总结了最经常使用的数据结构和算法,比方:线性表,链表,图.在进行java开发时,jdk为我们提供了一系列对应的类来实现主要的数据结构.jdk所提供的容器API位于j ...

  2. python(23)- 面向对象简单介绍

    面向概述 面向过程:根据业务逻辑从上到下写垒代码 面向过程的设计的核心是过程,过程即解决问题的步骤, 面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西 优点:极大降低了程序的复杂 ...

  3. 借助autoit操作上传下载对话框(参数化)

    虫师有一篇文章写的不错,链接如下:http://www.cnblogs.com/fnng/p/4188162.html 他的文章把upload.exe需要上传的文件写死了,下面的内容作为补充. 如果不 ...

  4. Django-admin导出到表格

    class AdminReport(admin.ModelAdmin): actions = ["saveexecl"] # 自定义的action(导出到excel表格) list ...

  5. 基于bootstrap+MySQL搭建动态网站

    这个只是在上个练习项目中的后台管理项目加入了MySQL,数据不是写死的,而是从数据库中获取到的,获取到数据执行增删改查操作,没什么 计数难度,不做介绍

  6. MySQL 启动报错:File ./mysql-bin.index not found (Errcode: 13)

    Linux下安装初始化完MySQL数据库之后,使用mysqld_safe启动mysql数据库,如下发现,启动失败 [root@SVNServer bin]# ./mysqld_safe –user=m ...

  7. CSS伪类:before 和 :after

    CSS用了许久,对一些伪类熟视无睹,从不想着去搞清楚一下.比如说这个 :before :after 其实,:before 表示该标记前面的样式,反之 :after 代表设置后面的样式.网页上常常看到有 ...

  8. java基础知识查漏 二

    一.java基本数据类型所占的内存大小 在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符 单元的字符类型和1种用于表示真值的boolean类型.( ...

  9. github 工具命令集

  10. Python类的特殊属性

    Python中的特殊属性 定义如下类: class Foo(object): """Foo class definition""" 类的特殊 ...