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. MVC.NET 发布后,部署到iis ,网站中的Bootstrap的字体图标不能正常显示

    时隔多日没有在博客中记录自己遇到的问题及解决方案了 ,今天给大家分享一个可能会遇到的一个鸡肋bug ! 如果你的项目是MVC并且在项目中引用了 Boostrap 框架,你在编辑发布后部署到iis的时候 ...

  2. Golang:使用 httprouter 构建 API 服务器

    https://medium.com/@gauravsingharoy/build-your-first-api-server-with-httprouter-in-golang-732b7b01f6 ...

  3. vue搭建项目前奏曲——vue-cli

    vue-cli是快速构建这个单页应用的脚手架,这个可是官方的.官方给的建议,如果你是初次尝试Vue,哪就老老实实用普通的书写引入js文件,这里牵扯太多的东西,例如webpack.Node.js.npm ...

  4. word2vec 数学原理

    word2vec 是 Google 于 2013 年推出的一个用于获取词向量的开源工具包.我们在项目中多次使用到它,但囿于时间关系,一直没仔细探究其背后的原理. 网络上 <word2vec 中的 ...

  5. Linux入门(11)——Ubuntu16.04安装texlive2016并配置texmaker和sublime text3

    安装过程中需要调用 Perl 的模块 Digest::MD5 来检测 ISO 文件的完整性:升级过程中界面需要调用 Perl 的模块 Tk: sudo apt-get install libdiges ...

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

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

  7. (转)关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)

    转自:http://itfish.net/article/41668.html   总结Tomcat的体系架构.处理http请求的过程.安装和配置.目录结构.设置压缩和对中文文件名的支持.以及Cata ...

  8. ueditor编辑器插件 chrome中图片上传框延时问题

    最近在项目中使用ueditor插件进行文字的在线编辑功能时,发现这个插件的图片上传弹框在chrome浏览器延迟非常的厉害.经过多方搜索,终于解决.现将解决方案记录如下: 1.修改/Ueditor/di ...

  9. Java基础-运算符(03)

    概念: 运算符:就是对于常量和变量进行操作的符号. 表达式:用运算符连接起来的符合java语法的式子,不同的运算符连接的表达式是不同类型的表达式. 运算符分类: 算数运算符(+  -  *  /  % ...

  10. 一起来学linux:SSH远程登陆

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 在最早的远程连接技术,主要是telnet和RSH为主.缺点也很明显,就是明文传输.在 ...