第一个是学习一些python的库。首先学习的是numpy的库。

import numpy
vector =numpy.array([5,10,15,20])
matrix = numpy.array([[5,10,15],[20,25,30],[35,40,45]])
print(vector)

print(matrix)

结果:

[ 5 10 15 20]
[[ 5 10 15][20 25 30][35 40 45]]

numpy的array可以创建向量。一个[]代表创建一纬向量,两个[[]]两个代表创建二维向量,以此类推。
vector = numpy.array([1,2,3,4])
print(vector.shape)
matrix = numpy.array([[5,10,15],[20,25,30],[35,40,45]])

print(matrix.shape)结果:

(4,)
(3, 3)

shape是可以用来查询向量的基本情况,几行几列

numbers = numpy.array([1,2,3,4])

numbers.dtype

结果:

dtype('int32')

dtype用来查询类型

vector =numpy.array([5,10,15,20])

print(vector[0:3])结果:

[ 5 10 15]

前包后不包

matrix = numpy.array([[5,10,15],
                      [20,25,30],
                      [35,40,45]])

print(matrix[:,1])

print(matrix[:,0:2])

结果:

[10 25 40]
[[ 5 10][20 25][35 40]]

第一个位置的:表示所有的行,第二个位置表示列。

vector =numpy.array([5,10,15,20])

vector ==10

结果:

array([False,  True, False, False], dtype=bool)

查找向量中有没有10,有的话返回true,没有的话返回false,后面的是类型

vector =numpy.array([5,10,15,20])
equal_to_ten = (vector ==10)
print (equal_to_ten)

print(vector[equal_to_ten])

结果:

[False  True False False]
[10]

与前面一样,然后在true的地方返回了10

matrix = numpy.array([[5,10,15],
                      [20,25,30],
                      [35,40,45]])
second_column_25 =(matrix[:,1]==25)
print(second_column_25)

print(matrix[second_column_25])

结果:

[False  True False]
[[20 25 30]]

这是上面的方法的应用,由列找出了行(包含true的那一行)

vector = numpy.array(["1","2","3"])
print(vector.dtype)
print(vector)
vector = vector.astype(float)
print(vector.dtype)
print(vector)结果:

<U1
['1' '2' '3']
float64
[ 1.  2.  3.]这是类型的转换,由String类型转变为float

matrix = numpy.array([[5,10,15],
                      [20,25,30],
                      [35,40,45]])

matrix.sum(axis = 1)结果:

array([ 30,  75, 120])sum是求和,axis=1表示的是行,axis=0,表示的是列

import numpy as np
a=np.arange(15).reshape(3,5)
a  结果:

array([[ 0,  1,  2,  3,  4],[ 5,  6,  7,  8,  9],[10, 11, 12, 13, 14]]) arange是一个数组,reshape是可以转化为一个向量,但是要确保可以被切割

np.arange(10,30,5)结果:

array([10, 15, 20, 25]) 当不是一个变量时表示:从10开始每次加5,但是要小于30

np.random.random((2,3))

结果:

array([[ 0.84933299,  0.10524939,  0.85124946],[ 0.75002188,  0.27174962,  0.67449709]])随机生成0~1之前的数,不包含1

from numpy import pi

np.linspace( 0, 2*pi, 100 )

结果:

array([ 0.        ,  0.06346652,  0.12693304,  0.19039955,  0.25386607,0.31733259,  0.38079911,  0.44426563,  0.50773215,  0.57119866,0.63466518,  0.6981317 ,  0.76159822,  0.82506474,  0.88853126,0.95199777,  1.01546429,  1.07893081,  1.14239733,  1.20586385,1.26933037,  1.33279688,  1.3962634 ,  1.45972992,  1.52319644,1.58666296,  1.65012947,  1.71359599,  1.77706251,  1.84052903,1.90399555,  1.96746207,  2.03092858,  2.0943951 ,  2.15786162,2.22132814,  2.28479466,  2.34826118,  2.41172769,  2.47519421,2.53866073,  2.60212725,  2.66559377,  2.72906028,  2.7925268 ,2.85599332,  2.91945984,  2.98292636,  3.04639288,  3.10985939,3.17332591,  3.23679243,  3.30025895,  3.36372547,  3.42719199,3.4906585 ,  3.55412502,  3.61759154,  3.68105806,  3.74452458,3.8079911 ,  3.87145761,  3.93492413,  3.99839065,  4.06185717,4.12532369,  4.1887902 ,  4.25225672,  4.31572324,  4.37918976,4.44265628,  4.5061228 ,  4.56958931,  4.63305583,  4.69652235,4.75998887,  4.82345539,  4.88692191,  4.95038842,  5.01385494,5.07732146,  5.14078798,  5.2042545 ,  5.26772102,  5.33118753,5.39465405,  5.45812057,  5.52158709,  5.58505361,  5.64852012,5.71198664,  5.77545316,  5.83891968,  5.9023862 ,  5.96585272,6.02931923,  6.09278575,  6.15625227,  6.21971879,  6.28318531])0~2pi之间安装100均分

A = np.array( [[1,1],
               [0,1]] )
B = np.array( [[2,0],
               [3,4]] )
print (A)
print (B)
#print A*B
print(A.dot(B))
print (np.dot(A, B))结果:

[[1 1][0 1]]
[[2 0][3 4]]
[[5 4][3 4]]
[[5 4][3 4]] A*B代表着对应位置相乘,A.dot(B)是向量的点乘,就是我们平时的向量相乘

#Return the floor of the input
a = np.floor(10*np.random.random((3,4)))
print (a)

a.shape
## flatten the array
print (a.ravel())
#a.shape = (6, 2)
#print a
#print a.T
print (a.resize((2,6)))
print (a)

#If a dimension is given as -1 in a reshaping operation, the other dimensions are automatically calculated:
a.reshape(3,-1)

结果:

[[ 8.  7.  0.  2.][ 5.  8.  5.  8.][ 8.  3.  7.  7.]]
[ 8.  7.  0.  2.  5.  8.  5.  8.  8.  3.  7.  7.] ravel可以把向量压平成数组
None
[[ 8.  7.  0.  2.  5.  8.][ 5.  8.  8.  3.  7.  7.]]
array([[ 8.,  7.,  0.,  2.],[ 5.,  8.,  5.,  8.],[ 8.,  3.,  7.,  7.]])

a = np.floor(10*np.random.random((2,2)))
b = np.floor(10*np.random.random((2,2)))
print (a)
print ('---')
print (b)
print ('---')
print (np.hstack((a,b)))

#np.hstack((a,b))

结果:

[[ 0.  7.][ 3.  1.]]
---
[[ 9.  8.][ 1.  4.]]
---
[[ 0.  7.  9.  8.][ 3.  1.  1.  4.]] hstack两个向量拼接

a = np.floor(10*np.random.random((2,12)))
#print a
#print np.hsplit(a,3)
#print np.hsplit(a,(3,4))   # Split a after the third and the fourth column
a = np.floor(10*np.random.random((12,2)))

print (a)

np.vsplit(a,3)

结果:

[array([[ 5.,  9.],[ 8.,  0.],[ 2.,  7.],[ 2.,  2.]]), array([[ 3.,  2.],[ 9.,  1.],[ 4.,  8.],[ 0.,  2.]]), array([[ 8.,  2.],[ 2.,  3.],[ 9.,  0.],[ 0.,  1.]])]vsplit是安装行切分成3分

#The copy method makes a complete copy of the array and its data.
d = a.copy()
d is a
d[0,0] = 9999
print (d)

print (a)

用了copy之后,两个向量就不会同时指向一个地址了,改变就没有事了

a = np.arange(0, 40, 10)
b = np.tile(a, (3, 5))
print (b)结果:

[[ 0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30][ 0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30][ 0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30]]生成一个3行5列的向量

a = np.array([[4, 3, 5], [1, 2, 1]])
#print a
#b = np.sort(a, axis=1)
#print b
#b
#a.sort(axis=1)
#print a
a = np.array([4, 3, 1, 2])
j = np.argsort(a)
print (j)
print (a[j])结果:

[2 3 1 0]
[1 2 3 4] argsort是指安装排序后的序号:例如:1最小,1的index为2.。。

机器学习入门---------numpy相关推荐

  1. 机器学习入门基本使用工具(保姆式教学):matplotlib,numpy,pandas这一篇就够了

    学习机器学习,以及python会用到一些工具,小编在这里列举一些出来,足够正常的机器学习使用,一些不常用的工具小编这里学的也不多,不过这篇博客会后续继续更新. 注意:代码中含有>>> ...

  2. python 非线性回归_机器学习入门之菜鸟之路——机器学习之非线性回归个人理解及python实现...

    本文主要向大家介绍了机器学习入门之菜鸟之路--机器学习之非线性回归个人理解及python实现,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. 梯度下降:就是让数据顺着梯度最大的方向,也 ...

  3. 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集

    各位同学好,经过前几章python机器学习的探索,想必大家对各种预测方法也有了一定的认识.今天我们来进行一次实战,心脏病病例预测,本文对一些基础方法就不进行详细解释,有疑问的同学可以看我前几篇机器学习 ...

  4. 曲线聚类_机器学习入门必读:6种简单实用算法及学习曲线、思维导图

    来源:大数据DT 本文约3500字,建议阅读7分钟 本文为你介绍掌握机器领域知识的学习曲线.技术栈以及常用框架. [ 导读 ] 大部分的机器学习算法主要用来解决两类问题--分类问题和回归问题.在本文当 ...

  5. 机器学习入门必读:6种简单实用算法及学习曲线、思维导图

    来源:大数据DT 本文约3500字,建议阅读7分钟 本文为你介绍掌握机器领域知识的学习曲线.技术栈以及常用框架. [ 导读 ] 大部分的机器学习算法主要用来解决两类问题--分类问题和回归问题.在本文当 ...

  6. tensorfllow MNIST机器学习入门

    MNIST机器学习入门 这个教程的目标读者是对机器学习和TensorFlow都不太了解的新手.如果你已经了解MNIST和softmax回归(softmax regression)的相关知识,你可以阅读 ...

  7. 机器学习入门:K-近邻算法

    机器学习入门:K-近邻算法 先来一个简单的例子,我们如何来区分动作类电影与爱情类电影呢?动作片中存在很多的打斗镜头,爱情片中可能更多的是亲吻镜头,所以我们姑且通过这两种镜头的数量来预测这部电影的主题. ...

  8. 新手福利:免费百页机器学习入门书

    选自 themlbook 作者:Andriy Burkov 机器之心编译 参与:张倩.淑婷.晓坤 近日,Gartner 公司机器学习团队负责人.人工智能博士 Andriy Burkov 开源了自己写的 ...

  9. numpy 创建加一行_Python数据分析快速入门--NumPy amp; Pandas

    之前为大家分享了python的基本语法,有疑问的小伙伴可以参考下文- 土豆爱数学:零基础如何快速入门python​zhuanlan.zhihu.com 对python基本语法了解后,就可以尝试用pyt ...

最新文章

  1. Coronascape – 为COVID-19研究特制的基因列表比较工具
  2. Xen的network-bridge模式
  3. Apache动态编译安装模块mod_rewrite
  4. 央视曝光:刷单实为非法商业模式 步步设置全是套路
  5. React-Native 之 项目实战(五)
  6. Android 在布局容器中动态添加控件
  7. php 获取当前目录名称,PHP获取当前执行php文件名的代码
  8. mysql dql_Mysql中的DQL查询语句
  9. Python的内建模块itertools
  10. python中filter用法_filter用法--Python
  11. SVM(三)—Kernels(核函数)
  12. python 修改用户对文件权限_用户管理相关内容的学习(查看文件权限 修改文件权限chmod 改变文件归属chown和chgrp)...
  13. springboot个人博客项目面试准备
  14. VFP全面控制EXCEL(转自十豆三老师)
  15. Defcon 2018 Qualify: Easy Pisy writeup
  16. win7系统怎么调计算机,分辨率,教您Win7如何调电脑的分辨率
  17. 中大计算机考研复试刷人太狠,来!看看这些院校复试刷人刷的有多厉害
  18. Linux 磁盘配额与VDO技术
  19. 第六节 电路搭建 我们何尝不是基建狂魔
  20. python分支结构if详解

热门文章

  1. JDBC连接MySQL数据库代码模板
  2. MVC中helper的用法。
  3. ACM北大暑期课培训第六天
  4. service mesh istio-0.8安装测试
  5. node-vue前后端分离记录
  6. Gradle 配置jetty启动项目
  7. poj 2186 强连通分量
  8. Windows10中的IIS10安装php manager和IIS URL Rewrite 2.0组件的方法
  9. [SAP ABAP开发技术总结]选择屏幕——SELECT-OPTIONS
  10. Oracle 存储过程的导出导入序列的导出