本文是Python大数据与机器学习系列文章中的第6篇,将介绍学习Python大数据与机器学习所必须的NumPy库。

通过本文系列文章您将能够学到的知识如下:

  • 应用Python进行大数据与机器学习

  • 应用Spark进行大数据分析

  • 实现机器学习算法

  • 学习使用NumPy库处理数值数据

  • 学习使用Pandas库进行数据分析

  • 学习使用Matplotlib库进行Python绘图

  • 学习使用Seaborn库进行统计绘图

  • 使用Plotly库进行动态可视化

  • 使用SciKit-learn处理机器学习任务

  • K-Means聚类

  • 逻辑回归

  • 线性回归

  • 随机森林与决策树

  • 自然语言处理与垃圾邮件过滤

  • 神经网络

  • 支持向量机

另外小编也会拥抱变化,根据评论中的需求情况增加其它有意义的内容。例如增加一些相关面试题等等。

什么是NumPy

NumPy是非常重要的Python数值计算扩展库,基本整个Python大数据生态都依赖它,并且由于绑定了C语言库,因此速度非常快。可以说我们要学好Python大数据,必须要学的就是NumPy库了。

安装NumPy

如果你根据之前的文章安装了anaconda,那么你已经默认安装了NumPy库了。如想单独安装请继续往下看。

使用conda安装的命令:

conda install numpy

使用pip安装的命令:

pip install numpy

NumPy array

本系列文章主要用到的是numpy的array(数组);

numpy array有两种基本形式:vector(向量)和matrics(矩阵)

vector是一维的,而matrics是二维的。

打开Jupyter,输入如下内容:

import numpy as np

my_list = [1,2,3]

arr = np.array(my_list)

arr

运行得到如下结果:

以上就是vector的一般形式

继续输入如下内容:

my_mat = [[1,2,3],[4,5,6],[7,8,9]]

np.array(my_mat)

运行得到如下结果:

以上就是二维matrics矩阵。

numpy有自己的range函数

np.arange(0,10)

运行结果如下:

还可以指定步长np.arange(0,10,2)

运行结果如下:

生成所有元素为0的向量np.zeros(3)

运行结果如下:

生成所有元素为0的矩阵np.zeros((5,5))

运行结果如下:

同样生成所有元素为1的向量和矩阵分表为np.ones(4),np.ones((2,3))

运行结果如下:

np.linspace(0,5,20)

第一个参数是起始点,第二个参数是结束点,第三个参数是从起点到终点距离分成多少份。

运行结果如下:

np.eye(4)生成4*4的主对角线为1的矩阵

运行结果如下:

np.random.rand(5)生成随机向量

运行结果如下:

np.random.rand(5,5)生成5*5的随机向量

运行结果如下:

np.random.randn(2)生成标准正态分布曲线。

运行结果如下:

np.random.randn(4,4)二维的标准正态分布曲线

运行结果如下:

提示:

在Jupyter输入框中按tab键可以提示联想菜单,按shift+tab可以提示函数用法

按tab键

按shift+tab键

np.random.randint(1,100)生成1个1到100之间的随机整数,不包含100

运行结果如下:

np.random.randint(1,100,10)生成10个1到100之间的随机整数,不包含100

运行结果如下:

array类型支持的一些函数:

reshape函数可以修改array的维数。例如:

arr = np.arange(25)

arr.reshape(5,5)

运行结果如下:

max函数:最大值

min函数:最小值

argmax函数:返回最大值的索引

argmin函数:返回最小值的索引

ranarr = np.random.randint(1,100,10)

ranarr.max()

ranarr.min()

ranarr.argmax()

ranarr.argmin()

运行结果如下:

shape函数,返回array的大小

dtype,返回数据类型

调用简化:

from numpy.random import randint

我们就可以直接使用randint了

randint(2,10)

运行结果如下:

Python大数据与机器学习之NumPy初体验的更多相关文章

  1. 零基础入门到精通:Python大数据与机器学习之Pandas-数据操作

    在这里还是要推荐下我自己建的Python开发学习群:483546416,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python ...

  2. 零起点PYTHON足彩大数据与机器学习实盘分析

    零起点PYTHON足彩大数据与机器学习实盘分析 第1章 足彩与数据分析 1 1.1 “阿尔法狗”与足彩 1 1.2 案例1-1:可怕的英国足球 3 1.3 关于足彩的几个误区 7 1.4 足彩·大事件 ...

  3. 《零起点,python大数据与量化交易》

    <零起点,python大数据与量化交易>,这应该是国内第一部,关于python量化交易的书籍. 有出版社约稿,写本量化交易与大数据的书籍,因为好几年没写书了,再加上近期"前海智库 ...

  4. H2O是开源基于大数据的机器学习库包

    H2O是开源基于大数据的机器学习库包 H2O能够让Hadoop做数学,H2O是基于大数据的 统计分析 机器学习和数学库包,让用户基于核心的数学积木搭建应用块代码,采取类似R语言 Excel或JSON等 ...

  5. 学习推荐《零起点Python大数据与量化交易》中文PDF+源代码

    学习量化交易推荐学习国内关于Python大数据与量化交易的原创图书<零起点Python大数据与量化交易>. 配合zwPython开发平台和zwQuant开源量化软件学习,是一套完整的大数据 ...

  6. 零起点Python大数据与量化交易

    零起点Python大数据与量化交易 第1章 从故事开始学量化 1 1.1 亿万富翁的“神奇公式” 2 1.1.1 案例1-1:亿万富翁的“神奇公式” 2 1.1.2 案例分析:Python图表 5 1 ...

  7. 【阿里云产品公测】结构化数据服务OTS之JavaSDK初体验

    [阿里云产品公测]结构化数据服务OTS之JavaSDK初体验 作者:阿里云用户蓝色之鹰 一.OTS简单介绍 OTS 是构建在阿里云飞天分布式系统之上的NoSQL数据库服务,提供海量结构化数据的存储和实 ...

  8. python大数据

    http://blog.csdn.net/xnby/article/details/50782913 一句话总结:spark是一个基于内存的大数据计算框架, 上层包括了:Spark SQL类似Hive ...

  9. 使用 .NET 5 体验大数据和机器学习

    翻译:精致码农-王亮 原文:http://dwz.win/XnM .NET 5 旨在提供统一的运行时和框架,使其在各平台都有统一的运行时行为和开发体验.微软发布了与 .NET 协作的大数据(.NET ...

随机推荐

  1. 使用Keras进行深度学习:(一)Keras 入门

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! Keras是Python中以CNTK.Tensorflow或者Th ...

  2. arcgis连接oracle发布服务,提示数据未注册到服务器,手动注册服务器失败

    arcgis连接oracle数据库发布服务时候,分析之后提示:数据未注册到服务器上. 手动注册之后提示:数据客户端没有正确配置.实际上数据库客户端已经安装完成也可以使用. 设置 PATH 环境变量(仅 ...

  3. SQL Server中创建sde数据库

    在ArcCatalog或者ArcMap中打开ArcToolBox工具箱. 在工具箱中,找到创建企业级地理数据库工具,依次为数据管理工具→地理数据库管理→创建企业级地理数据库,如图所示. 双击打开创建企 ...

  4. sql server 数据库安装手册

    1. 双击setup.exe运行安装程序,进入[SQL Server 安装中心] 2. 选择左侧菜单栏[安装],运行第一项[全新安装或向现有安装添加功能] 3. 进入[SQL Server 2008 ...

  5. vue2.0 操作数组下标不跟新ui,使用set()或$forceUpdate 也不能跟新视图情况

    在vue 2.0 中操作数组不跟新ui图,即使使用set()或 $forceUpdate也不能跟新视图,我在前段时间也遇到了一个问题,当时我使用的时element 的tree 组件 由于需要对tree ...

  6. KA 接口表

    一.建表 1.年日均销量表 drop table app.app_basic_dashboard_goods_avg_year_sellnum; CREATE TABLE app.app_basic_ ...

  7. Java 异常处理与输入输出

    一.异常 1.1 package exception; import java.util.Scanner; public class ArrayIndex { public static void m ...

  8. Java常用类__装箱/拆箱

    以下是常用的各两种方法(各类提供了构造方法,静态方法) 一.基本数据类型 转化为 包装类(装箱) 例:int i=10: Integer num=i;//num=10 二.包装类 转化为  基本数据类 ...

  9. 【WPF学习】第六十四章 构建基本的用户控件

    创建一个简单用户控件是开始自定义控件的好方法.本章主要介绍创建一个基本的颜色拾取器.接下来分析如何将这个控件分解成功能更强大的基于模板的控件. 创建基本的颜色拾取器很容易.然而,创建自定义颜色拾取器仍 ...

  10. PTA | 1005 继续(3n+1)猜想 (25分)

    卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验证的时 ...