机器学习 最重要的东西就是算法   这里面的水很深  所以呢我就简单的整理了一下
基础的操作
 
 
#导入numpy库 as别名 为了怕重名
import numpy as np
# 打印版本号
print(np.version.version)
#声明一个numpy数组 ,一维数组
nlist = np.array([1,2,3])
print(nlist)
#ndim方法用来查看数组维度
print(nlist.ndim)
# 声明一个二维数组
nlist_2 = np.array([[1,2,3],[4,5,6]])
print(nlist_2)
print(nlist_2.ndim)
#使用shape属性来打印多维数组的形状
print(nlist.shape)
print(nlist_2.shape)
#使用size方法来打印多维数组的元素个数
print(np.size(nlist))
print(np.size(nlist_2))
#打印numpy多维数组的数据类型
#打印普通list
print(type([1,2,3]))
print(type(nlist))
#使用dtype属性来打印多维数组内部元素的数据类型
print(type(123))
print(nlist.dtype)
#itemsize属性,来打印多维数组中的数据类型大小,字节
print(nlist.itemsize)
print(nlist_2.itemsize)
#data属性,用来打印数据的缓冲区 buffer
print(nlist.data)
#使用reshape方法来反向生成多维数组 第一个数字是几维数组的,第二个数字是2行,第三个数字是4列
nlist_3 = np.array(range(24)).reshape((3,2,4))
nlist_4 = np.array(range(32)).reshape((4,2,4))
print(nlist_3)
print(nlist_4)
#使用浮点作为元素类型
nlist_float = np.array([1.0,2.0,3.0])
print(nlist_float.dtype)
#使用字符串
nlist_string = np.array(['1','2','3'])
print(nlist_string.dtype)
#四维数组
nlist_4 = np.array(range(20)).reshape((5,2,2,1))
print(nlist_4)
print(nlist_4.ndim)
 
#声明一个size为20的四维数组
nlist_4 = np.array(range(20)).reshape((1,2,5,2))
print(nlist_4)
#声明一个3*3的数组
nlist_33 = np.array([[1,2,3],[4,5,6],[2,3,6]])
#属性
print(nlist_33)
print(nlist_33.shape)
print(nlist_33.ndim)
print(nlist_33.size)
#方法
print(np.size(nlist_33))
print(np.shape(nlist_33))
print(np.ndim(nlist_33))
#自动生成元素为1的多维数组,使用ones方法
nlist_ones = np.ones((4,4))
print(nlist_ones)
print(nlist_ones.dtype)
#使用zeros来生成元素为0的多维数组
nlist_zeros = np.zeros((4,4))
print(nlist_zeros)
print(nlist_zeros.dtype)
#使用empty方法来生成随机多维数组 使用第二个参数来指定数据类型
nlist_empty = np.empty([2,2],dtype=np.int)
print(nlist_empty)
print(nlist_empty.dtype)
#把普通list转换为数组
x = [1,2,3]
x= [(1,2,3),(4,5)]
print(np.ndim(x))
print(np.shape(x))
print(type(x))
nlist = np.asarray(x)
print(type(nlist))
print(nlist.ndim)
print(nlist.shape)
#frombuffer 通过字符串(buffer内存地址)切片来生成多维数组
my_str = b'Hello World'
nlist_str = np.frombuffer(my_str,dtype='S1')
print(nlist_str)
x = np.array([[1,2],[3,4]])
print(x)
#指定axis属性可以指定当前多维数组的维度 axis=0 列级相加 ,keepdims=True 保持维度
sum0 = np.sum(x,axis=0,keepdims=True)
print(sum0)
# axis = 1 行级相加
sum1 = np.sum(x,axis=1,keepdims=True)
print(sum1)
#多维数组赋值
x = np.array([1,2])
y = x.copy()
y[0] = 3
# x[0] = 3
print(x)
#维度级的运算
a = np.array([[1,2],[3,4],[5,6]])
b = np.array([[10,20],[30,40],[50,60]])
#使用vstack方法 列级添加
suma = np.vstack((a,b))
print(suma)
#hstack方法 行级添加
sumb = np.hstack((a,b))
print(sumb)
#多维数组的调用
nlist = np.array([[1,2],[3,4],[5,6]])
#取元素4
print(nlist[1][1])
#第二种写法
print(nlist[1,1])
nlist[2][1] = 7
print(nlist)
#删除方法 delete
#删除nlist第二行
nlist = np.delete(nlist,1,axis=0)
print(nlist)
nlist = np.delete(nlist,0,axis=1)
print(nlist)
 
这些只是一部分基础方法和算法   
想学的精的话只能自己慢慢摸索了 ,  胜利就在前方 ,加油!!

人工智能-机器学习之numpy方法的更多相关文章

  1. 控制算法的划分(自适应控制、预测控制、模糊控制等,PID等;蚁群算法、神经网络,还有机器学习、人工智能中的很多方法)

    一般来说,控制器的设计,分为控制框架的选取,跟参数的优化.自适应控制.预测控制.模糊控制等,跟PID一样,是控制算法(我习惯称为控制框架). 而粒子群.遗传算法(类似的还有蚁群算法.神经网络,还有机器 ...

  2. KDD 2011 最佳工业论文中机器学习的实践方法-翻译

    作者:黄永刚 Practical machine learning tricks from the KDD 2011 best industry paper 原文链接:http://blog.davi ...

  3. Python 机器学习库 NumPy 教程

    0 Numpy简单介绍 Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy ...

  4. 机器学习——打开集成方法的大门,手把手带你实现AdaBoost模型

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第25篇文章,我们一起来聊聊AdaBoost. 我们目前为止已经学过了好几个模型,光决策树的生成算法就有三种.但是我们每 ...

  5. python最全学习资料:python基础进阶+人工智能+机器学习+神经网络(包括黑马程序员2017年12月python视频(百度云链接))

    首先用数据说话,看看资料大小,达到675G 承诺:真实资料.不加密,获取资料请加QQ:122317653 包含内容:1.python基础+进阶+应用项目实战 2.神经网络算法+python应用 3.人 ...

  6. 安装Numpy方法

    Numpy安装(要先安装好python,见<windows下的python环境搭建(python2和python3不兼容,python2用的多)>) Numpy是Python的一个科学计算 ...

  7. python学习大全:python基础进阶+人工智能+机器学习+神经网络

    首先用数据说话,看看资料大小,达到675G承诺:真实资料.不加密.(鉴于太多朋友加我QQ,我无法及时回复,) 方便的朋友给我点赞.评论下,谢谢!(内容较大,多次保存) [hide]链接:[url]ht ...

  8. 机器学习基础 --- numpy的基本使用

    一.numpy的简介 numpy是Python的一种开源的数值计算扩展库.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该 ...

  9. numpy方法介绍

    三.numpy系列 1.np.maximum:(X, Y, out=None) X 与 Y 逐位比较取其大者: 最少接收两个参数 h=[[-2,2,10],[-5,-9,20]] hh=np.maxi ...

随机推荐

  1. linux yum 本地源配置

    1.查看硬盘情况 lsblk sr0就是光驱了 2.执行挂载命令 查看光驱cd /devls 执行命令 mount /dev/sr0  /mnt 将光驱挂载到 /mnt 目录 这样光驱就挂载好了 2. ...

  2. WZ后台管理框架

    http://herozhou.coding.me/vue-framework-wz/#/dashboard

  3. IE 8 浏览器 F12 调试功能无法使用

      “按下F12之后,开发人员工具在桌面上看不到,但是任务栏里有显示.将鼠标放在任务栏的开发人员工具上,出现一片透明的区域,选中之后却出不来.将鼠标移动到开发人员工具的缩略图上,右键-最大化,工具就全 ...

  4. s4-7 生成树协议

    Spanning Tree :为了可靠,采用冗余结构:但是透明网桥 会产生无休止循环的问题 冗余交换拓扑可能带来的问题  广播风暴  多帧传送  MAC地址库不稳定 生成树协议  STP:sp ...

  5. ZOJ 2132 The Most Frequent Number (贪心)

    题意:给定一个序列,里面有一个数字出现了超过 n / 2,问你是哪个数字,但是内存只有 1 M. 析:首先不能开数组,其实也是可以的了,后台数据没有那么大,每次申请内存就可以过了.正解应该是贪心,模拟 ...

  6. Codeforces Round#413 Div.2

    A. Carrot Cakes 题面 In some game by Playrix it takes t minutes for an oven to bake k carrot cakes, al ...

  7. DC画线

    CClientDC hdc(this);//获取DC CPen pen(PS_SOLID,4,RGB(255,0,0));//创建一支红笔 CPen * pOldPen=hdc.SelectObjec ...

  8. java 定时执行

    Timer和TimerTask CountDownTimer (android)

  9. Alpha阶段敏捷冲刺(八)

    1.站立式会议 提供当天站立式会议照片一张 2.每个人的工作 (有work item 的ID),并将其记录在码云项目管理中: 昨天已完成的工作. 祁泽文:写了关于统计的按钮的代码. 徐璐琳:完善了&q ...

  10. 20155326 《Java程序设计》第8周学习总结

    20155326 <Java程序设计>第8周学习总结 教材学习内容总结 NIO (1)NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区容量,在缓冲区中对感兴趣的数据区块 ...