机器学习 最重要的东西就是算法   这里面的水很深  所以呢我就简单的整理了一下
基础的操作
 
 
#导入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. swift - 导航设置总结加深记忆

    一.创建导航     let VC=ViewController()    let navigationC = UINavigationController(rootViewController: V ...

  2. GDI基础(2):绘制文本

    1.TextOut()和DrawText()函数 CDC::TextOut()在窗口的指定位置处输出文本,函数声明: virtual BOOL TextOut(int x, int y, LPCTST ...

  3. java中的四种修饰符:private、protected、public和default的区别

      本类 本包 子类 包外 public 可以 可以 可以 可以 protected 可以 可以 可以 不可以 default 可以 可以 不可以 不可以 private 可以 不可以 不可以 不可以 ...

  4. awk 用法(转)

    原文:https://www.cnblogs.com/xudong-bupt/p/3721210.html awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题 ...

  5. c# 抽象类和抽象方法

    参考:http://www.runoob.com/csharp/csharp-polymorphism.html https://zhidao.baidu.com/question/587686949 ...

  6. spring mvc项目中导出excel表格简单实现

    查阅了一些资料,才整理出spring mvc 项目导出excel表格的实现,其实很是简单,小计一下,方便以后查阅,也希望帮助有需要的朋友. 1.导入所需要依赖(Jar包).我使用的是maven,所以坐 ...

  7. 好文推荐系列--------(3)GruntJS 在线重载 提升生产率至新境界

    好文原文地址:http://segmentfault.com/a/1190000000354555 本文将首先介绍grunt-markdown插件如何配合HTML模板使用,接着我将介绍如何使用grun ...

  8. HTTP协议(一)[草稿版]

    (一)HTTP客户端请求头格式

  9. _杂谈_C语言历史

    早期的操作系统软件主要是用汇编语言(包括UNIX操作系统在内)编写的.由于汇编语言依赖于计算机硬件,所以程序的可读性和可移植性都比较差,所以呢,为了提高操作系统软件的可读性和可移植性,最好改用高级语言 ...

  10. java基础-day18

    第07天 集合 今日内容介绍 u  HashSet集合 u  HashMap集合 第1章   HashSet集合 1.1  Set接口的特点 Set体系的集合: A:存入集合的顺序和取出集合的顺序不一 ...