1,机器学习numpy 初识

1)numpy初识

import numpy
num1= numpy.array([1,2,3])
dtype('num1') #查找类型

num1.dtype
num1.shape #查找数据维数
num1.genfromtxt("wordll.txt",delimiter=',',dtype=str,skip_header=1) #通过文本读取数据

num1[0,2] #取指定标的数据 小标为0-2的数据
matrix = numpy.array([5,6,7,8],
[5,6,7,8],
[5,6,7,8],
[5,6,7,8])
matrix[:,1] #返回 [6,6,6,6]
enq=(matrix == 8)
#返回array([flase,flase,flase,true],
[flase,flase,flase,true],
[flase,flase,flase,true],
[flase,flase,flase,true])
print(matrix[enq]) #返回 [8,8,8,8]
print(matrix[enq,:]) # 返回所在的行
================================================
2)numpy 矩阵
vetor = numpy.array([10,15,5,30])
numd=(vetor==10 | vetor==15)) #[ture,false,false,true]
vector = vetor.astype(float) # 类型返回float
print(vector.dtype) # float

#求和
matrix.sum(axis=1) # 对行求和
matrix.sum(axis=0) # 对列求和
numpy.arange(15)
a=numpy.arange(15).reshape(3,5)
a.shape
a.dtype.name
a.size
a.nidm

#初始化空矩阵
np.zeros(3,4) # 3 行 4列的空矩阵
np.ones((2,3,4),dtype=np.Int32)
np.arange(10,30,5) # [10,15,20,25]
np.arange(12).reshape(4,3)
np.random.random((2,3))
np.linspace(0,12,100) # 0-12 取100 个数的数组

#计算
np.dot(A,B) #两个矩阵的相乘 也可以A*B
np.sqrt(B) #求平方根
np.exp(B) # 平方
a = np.floor(10*np.random.random(3,4)) #向下取整
a.ravel() # 多维数组变成一位数组
a.shape=(6,2)
a.T #转置
a.reshape(3,-1) #数组转为多维数组 3 行 ,列自动分
np.vstack(A,B) #竖着拼
np.hstack(A,B) #横着拼
np.hsplit(a,3) #横着切
np.vsplit(b,3) #竖着切
np.hsplit(a,(3,4)) #3,4是切分的点

id(a) # 查看内存地址是不是一样

c = a.view();
c.shape=2.6 # 浅复制 地址不同 但会共享数据

d = a.copy(); #深复制

===================================================
a = np.arange(0,40,10)
print(a)
b = np.tile(a,(4,3)) //重复4行3列的矩阵
print(b)

np.sort(axis=1) # 排序
j=np.argsort(a) # 返回排序之后的索引值数组

=========================================================

numpy模块中的矩阵对象为numpy.matrix,包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中。 class numpy.matrix(data,dtype,copy):返回一个矩阵,其中data为ndarray对象或者字符形式;dtype:为data的type;copy:为bool类型。

>>> a = np.matrix('1 2 7; 3 4 8; 5 6 9')
>>> a             #矩阵的换行必须是用分号(;)隔开,内部数据必须为字符串形式(‘ ’),矩
matrix([[1, 2, 7],       #阵的元素之间必须以空格隔开。
[3, 4, 8],
[5, 6, 9]]) >>> b=np.array([[1,5],[3,2]])
>>> x=np.matrix(b)   #矩阵中的data可以为数组对象。
>>> x
matrix([[1, 5],
[3, 2]])
===========================================================================

numpy 教程参考:http://www.yiibai.com/numpy/

numpy初识的更多相关文章

  1. numpy 初识(二)

    针对 numpy.array(序列)的实例介绍 ndim 数组(矩阵)的维度 size 所有元素的和 数学运算(+, -) 元素个数一样,对应位置相减 加,减,乘,平方一个数,执行广播形式:即都减去一 ...

  2. numpy 初识(一)

    基本操作: 读取文件(与pandas读取csv相似): import numpy numpy.genfromtxt("word.txt", delimiter=',', dtype ...

  3. Python学习之路:NumPy初识

    import numpy as np; //一维NumPy数组 myArray = np.array([1,2,3,4]); print(myArray); [1 2 3 4] //打印一维数组的形状 ...

  4. numpy初识 old

    一.创建ndarrary 1.使用np.arrary()创建 1).一维数组 import numpy as np np.array([1, 2, 3, 4]) 2).二维数组 np.array([[ ...

  5. numpy 初识(三)

    基本运算 exp: e sqrt:开放 floor:向下取整 ravel:矩阵拉成一个向 T:转置(行和列变换) 改变形状: resize: 更改其形状(返回值为None)a.resize(6,2) ...

  6. 初识NumPy库-基本操作

    ndarray(N-dimensional array)对象是整个numpy库的基础. 它有以下特点: 同质:数组元素的类型和大小相同 定量:数组元素数量是确定的 一.创建简单的数组: np.arra ...

  7. 初识numpy

    from numpy import *   导入numpy包 random可以生成随机数组 通过mat函数,将数组转换成矩阵,可以对矩阵进行求逆计算等.其中.I操作实现了矩阵求逆计算操作. 执行矩阵乘 ...

  8. jupter nootbok 快捷键、NumPy模块、Pandas模块初识

    jupter nootbok 快捷键 插入cell:a b 删除cell:x cell模式的切换:m:Markdown模式 y:code模式 运行cell:shift+enter tab:补全 shi ...

  9. 初识numpy的多维数组对象ndarray

    PS:内容来源于<利用Python进行数据分析> 一.创建ndarray 1.array :将一个序列(嵌套序列)转换为一个数组(多维数组) In[2]: import numpy as ...

随机推荐

  1. maven私服 nexus2.x工作目录解读(翻译文档)

    安装nexus repository manager oss 或pro版本时,会创建两个目录:一个目录包含运行环境及应用,通常符号链接为nexus:一个目录包含所有的配置和数据,通常为sonatype ...

  2. Echarts数据可视化series-scatter散点图,开发全解+完美注释

    全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 6大公共组件详解(点击进入): title详解. tooltip详解.toolb ...

  3. C#利用String类的IndexOf、LastIndexOf、Substring截取字符串

    一.String.IndexOf String.IndexOf 方法 (Char, Int32, Int32)报告指定字符在此实例中的第一个匹配项的索引(从0开始).搜索从指定字符位置开始,并检查指定 ...

  4. OpenWRT 添加应用程序开机启动方法

    方法一:在/etc/inid.d/目录下新建启动脚本. 方法二:直接在/etc/rc.local 中添加启动命令,如:./usr/bin/relay &

  5. CURL常用命令记录--用于简单测试接口

    curl命令是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具.作为一款强力工具,curl支持包括HTTP.HTTPS.f ...

  6. 【ASP.NET MVC 学习笔记】- 01 理解MVC模式

    本文参考:http://www.cnblogs.com/willick/p/3195560.html 1.MVC模式是软件系统的一种架构模式,它将软件分为三大模块: 模型(Model):封装业务逻辑以 ...

  7. JS中处理单个反斜杠(即转义字符的处理)

    问题来源:在表单的<input>标签中对输入的字符串进行大写转换.一不小心输入了反斜杠 \ 如下图所示: 输入 chn\  的时候,在  IE8  下弹出一个js错误.(在实际的项目的表单 ...

  8. C++类与对象(05)

    类是具有惟一标识符的实体:在类中声明的任何成员不能使用extern.auto和register关键字进行修饰:类中声明的变量属于该类,在某些情况下,变量也可以被该类的不同实例所共享. 访问权限用于控制 ...

  9. Ajax中与服务器的通信【发送请求与处理响应】

    一.发送请求 Ajax中通过XMLHttpRequest对象发送异步方式的后台请求时.通常有两种方式的请求,一种是GET请求,另一种是POST请求.发送请求一般要经过4个步骤分别是: (1)初始化XM ...

  10. Path.Combine 合并两个路径字符串,会出现的问题

    Path.Combine(path1,path2) 1.如果path2字符串,以 \ 或 / 开头,则直接返回 path2