机器学习之numpy和matplotlib学习(九)

来源:互联网 发布:node express router 编辑:程序博客网 时间:2024/06/08 10:13

这节课我们来学习numpy的一些基本的操作和属性。
为什么这样安排学习课程呢?
我觉得这样交叉学习,使用到什么的时候就去查看,对于numpy也好还是matplotlib的学习也好。
他们的内容有很多,要想全部掌握还是很难的,只有不断的自己去实践,遇到什么不知道的问题就去学习。
而不是想去看numpy和matplotlib的相关详细教学,把numpy学习透彻再进行机器学习。
以上只是个人看法。
个人觉得学习numpy要有点线性代数的基础知识。
把numpy的学习理解为一切基于矩阵。【这样就方便理解和学习numpy的使用了!】

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author  : SundayCoder-俊勇# @File    : numpy1.pyimport numpy as np# numpy基本学习第一课。# numpy基本属性。# 创建一个两行三列的int类型矩阵。# dtype全称为datatype。也就是数据类型。array=np.array([[1,2,3],[4,5,6]],dtype=np.int)print array# 形状,也就是几行几列【学过线性代数就简单多了】print array.shape# 维度【也就是几行】print array.ndim# 共有多少和元素。这里2行3列,总共有6个元素。print array.size# 获得array这个行列式的转置矩阵。print array.T# 索引值的使用# arange与python中的range一样,默认从0开始。# 索引和列表的嵌套也基本一样。# reshape是可以改变数据变成几行几列的矩阵。b=np.arange(12).reshape(3,4)print b# b[1][3]也可以写成b[1,3]print b[1][3]# 输出b的行数据。for row in b:    print(row)#这也是输出行数据,说明这个只能输出行数据。for col in b:    print (col)# 怎么输出列数据。学过线性代数的知道转置矩阵的作用。# 输出列数据的做法for col in b.T:    print col

结果如下:

[[1 2 3] [4 5 6]](2, 3)26[[1 4] [2 5] [3 6]][[ 0  1  2  3] [ 4  5  6  7] [ 8  9 10 11]]7[0 1 2 3][4 5 6 7][ 8  9 10 11][0 1 2 3][4 5 6 7][ 8  9 10 11][0 4 8][1 5 9][ 2  6 10][ 3  7 11]

另外补充一点就是numpy中所有的dtype类型如下:
这里写图片描述

更新完毕