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. Intel Core Microarchitecture Pipeline

    Intel微处理器近20年从Pentium发展到Skylake,得益于制作工艺上的巨大发展,处理器的性能得到了非常大的增强,功能模块增多,不过其指令处理pipeline的主干部分算不上有特别大的变化, ...

  2. Django安装Xadmin步骤

    在Django中安装Xadmin替换原始的admin,下面介绍两种方法安装 第一种方法:pip安装 第一步: 直接pip安装xadmin pip install xadmin pip会同时安装上面三个 ...

  3. 张高兴的 Xamarin.Android 学习笔记:(三)活动生命周期

    本文将直接解释我写的一个示例.示例目的在于展示 Android 活动在 Xamarin 中的用法.如果有朋友对基础知识不太了解建议先学 Android . 新建一个 Xamarin.Android 项 ...

  4. win10 uwp 活动磁贴

    本文翻译:https://mobileprogrammerblog.wordpress.com/2015/12/23/live-tiles-and-notifications-in-universal ...

  5. 【转】Sizeof与Strlen的区别与联系

    原文地址:http://www.cnblogs.com/carekee/articles/1630789.html 1.sizeof  sizeof(...)是运算符,在头文件中typedef为uns ...

  6. Node.js之异步流控制

    前言 在没有深度使用函数回调的经验的时候,去看这些内容还是有一点吃力的.由于Node.js独特的异步特性,才出现了"回调地狱"的问题,这篇文章中,我比较详细的记录了如何解决异步流问 ...

  7. Android+ESP8266+路由器实现远程控制(基于花生壳域名方式访问)

    x先说一下实现的功能,其实就是远程控制 和这篇文章的控制  http://www.cnblogs.com/yangfengwu/p/5295632.html   应该说是这篇文章的升级,解决这篇文章由 ...

  8. jQuery在项目中的应用

    版权声明:本文为博主原创文章,未经博主允许不得转载.(转载需注明出处 http://www.cnblogs.com/yanfei1819/p/7743661.html) [摘要]   最近在项目中应用 ...

  9. 读取本地的json文件

    最近写项目需要读取本地的json文件,然后悲催的发现前端新手的我居然不会,查查找找发现这东西并不难,但是应该是比较常用的,毕竟json太好用了! 我是直接用的jquery实现的,但是Ajax也可以,不 ...

  10. 用户关注微信公众号后,获取该用户的openID存数据库失败

    关注微信公众号后将关注人的openID存入数据库失败,而openID换成字符串写死却可以存入数据库: $wxid=$postObj->FromUserName; $data['wx_openid ...