数据分析常用Python库:数值计算、可视化、机器学习等领域

镜像pip安装

阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xgboost
如果出现“You are using pip version 10.0.1, however version 20.0.2 is available.”问题

python -m pip install -U pip

常用库

一、数值计算

  1. NumPy支持多维数组与矩阵运算,也针对数组运算提供大量的数学函数库。通常与SciPy和Matplotlib一起使用,支持比Python更多种类的数值类型,其中定义的最重要的对象是称为ndarray的n维数组类型,用于描述相同类型的元素集合,可以使用基于0的索引访问集合中元素。
  2. SciPy在NumPy库的基础上增加了众多的数学、科学及工程计算中常用的库函数,如线性代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等,可进行插值处理、信号滤波,以及使用C语言加速计算。
  3. Pandas基于NumPy的一种工具,为解决数据分析任务而生。纳入大量库和一些标准的数据模型,提供高效地操作大型数据集所需的工具及大量的能快速便捷处理数据的函数和方法,为时间序列分析提供很好的支持,提供多种数据结构,如Series、Time-Series、DataFrame和Panel。

二、数据可视化

  1. Matplotlib第一个Python可视化库,有许多别的程序库都是建立在其基础上或者直接调用该库,可以很方便地得到数据的大致信息,功能非常强大,但也非常复杂。
  2. Seaborn利用了Matplotlib,用简洁的代码来制作好看的图表。与Matplotlib最大的区别为默认绘图风格和色彩搭配都具有现代美感。
  3. ggplot基于R的一个作图库ggplot2,同时利用了源于《图像语法》(The Grammar of Graphics)中的概念,允许叠加不同的图层来完成一幅图,并不适用于制作非常个性化的图像,为操作的简洁度而牺牲了图像的复杂度。
  4. Bokeh跟ggplot一样,Bokeh也基于《图形语法》的概念。与ggplot不同之处为它完全基于Python而不是从R处引用。长处在于能用于制作可交互、可直接用于网络的图表。图表可以输出为JSON对象、HTML文档或者可交互的网络应用。Bokeh也支持数据流和实时数据,为不同的用户提供了3种控制水平:最高的控制水平用于快速制图,主要用于制作常用图像;中等控制水平与Matplotlib一样允许开发人员控制图像的基本元素(例如分布图中的点);最低的控制水平主要面向开发人员和软件工程师。没有默认值,需要定义图表的每一个元素。
  5. Plotly可以通过Python notebook使用,与Bokeh一样致力于交互图表的制作,但提供在别的库中几乎没有的几种图表类型,如等值线图、树形图和三维图表。
  6. pygal与Bokeh和Plotly一样,提供可直接嵌入网络浏览器的可交互图像。与其他两者的主要区别在于可将图表输出为SVG格式,所有的图表都被封装成方法,且默认的风格也很漂亮,用几行代码就可以很容易地制作出漂亮的图表。
  7. geoplotlib用于制作地图和地理相关数据的工具箱。可用来制作多种地图,比如等值区域图、热度图、点密度图。必须安装Pyglet(一个面向对象编程接口)方可使用。
  8. missingno用图像的方式快速评估数据缺失的情况,可根据数据的完整度对数据进行排序或过滤,或者根据热度图或树状图对数据进行修正。

三、数据库管理

  1. MySQL-python又称MySQLdb,是Python连接MySQL最流行的一个驱动,很多框架也基于此库进行开发。只支持Python 2.x,且安装时有许多前置条件。由于该库基于C语言开发,在Windows平台上的安装非常不友好,经常出现失败的情况,现在基本不推荐使用,取代品为衍生版本。
  2. mysqlclient完全兼容MySQLdb,同时支持Python 3.x,是Django ORM的依赖工具,可使用原生SQL来操作数据库,安装方式与MySQLdb一致。
  3. PyMySQL纯Python实现的驱动,速度比MySQLdb慢,最大的特点为安装方式简洁,同时也兼容MySQL-python。
  4. SQLAlchemy一种既支持原生SQL,又支持ORM的工具。ORM是Python对象与数据库关系表的一种映射关系,可有效提高写代码的速度,同时兼容多种数据库系统,如SQLite、MySQL、PostgreSQL,代价为性能上的一些损失。

四、自动化运维

  1. jumpsever跳板机一种由Python编写的开源跳板机(堡垒机)系统,实现了跳板机的基本功能,包含认证、授权和审计,集成了Ansible、批量命令等。支持WebTerminal Bootstrap编写,界面美观,自动收集硬件信息,支持录像回放、命令搜索、实时监控、批量上传下载等功能,基于SSH协议进行管理,客户端无须安装agent。主要用于解决可视化安全管理,因完全开源,容易再次开发。
  2. Magedu分布式监控系统一种用Python开发的自动化监控系统,可监控常用系统服务、应用、网络设备,可在一台主机上监控多个不同服务,不同服务的监控间隔可以不同,同一个服务在不同主机上的监控间隔、报警阈值可以不同,并提供数据可视化界面。
  3. Magedu的CMDB一种用Python开发的硬件管理系统,包含采集硬件数据、API、页面管理3部分功能,主要用于自动化管理笔记本、路由器等常见设备的日常使用。由服务器的客户端采集硬件数据,将硬件信息发送至API,API负责将获取的数据保存至数据库中,后台管理程序负责对服务器信息进行配置和展示。
  4. 任务调度系统一种由Python开发的任务调度系统,主要用于自动化地将一个服务进程分布到其他多个机器的多个进程中,一个服务进程可作为调度者依靠网络通信完成这一工作。
  5. Python运维流程系统一种使用Python语言编写的调度和监控工作流的平台,内部用于创建、监控和调整数据管道。允许工作流开发人员轻松创建、维护和周期性地调度运行工作流,包括了如数据存储、增长分析、Email发送、A/B测试等诸多跨多部门的用例。

五、机器学习

  1. Scikit-Learn基于NumPy和SciPy,是专门为机器学习建造的一个Python模块,提供了大量用于数据挖掘和分析的工具,包括数据预处理、交叉验证、算法与可视化算法等一系列接口。Sklearn的基本功能可分为6个部分:分类回归聚类数据降维模型选择数据预处理其中集成了大量分类、回归和聚类的算法,包括支持向量机、逻辑回归、朴素贝叶斯、随机森林、Gradient Boosting、K-means和DBSCAN等。
  2. Orange3是一个基于组件的数据挖掘和机器学习软件套装,支持Python进行脚本开发。它包含一系列的数据可视化、检索、预处理和建模技术,具有一个良好的用户界面,同时也可以作为Python的一个模块使用。用户可通过数据可视化进行数据分析,包括统计分布图、柱状图、散点图,以及更深层次的决策树、分层聚簇、热点图、MDS(多维度分析)、线性预测等,并可使用Orange自带的各类附加功能组件进行NLP、文本挖掘、构建网络分析、推断高频数据集和关联规则数据分析。
  3. XGBoost是专注于梯度提升算法的机器学习函数库,因其优良的学习效果及高效的训练速度而获得广泛的关注。XGBoost支持并行处理,比起同样实现了梯度提升算法的Scikit-Learn库,其性能提升10倍以上。XGBoost可以处理回归、分类和排序等多种任务。
  4. NuPIC是专注于时间序列的一个机器学习平台,其核心算法为HTM算法,相比于深度学习,其更为接近人类大脑的运行结构。HTM算法的理论依据主要是人脑中处理高级认知功能的新皮质部分的运作原理。NuPIC可用于预测及异常检测,适用面非常广,仅要求输入时间序列即可。
  5. **Milk(Machine Learning Toolkit)**是Python中的一个机器学习工具包。Milk注重提升运行速度与降低内存占用,因此大部分对性能敏感的代码都是使用C++编写的,为了便利性在此基础上提供Python接口。重点提供监督分类方法,如SVMs、KNN、随机森林和决策树,也支持无监督学习算法,如K-means和密切关系传播。

六、深度学习

  1. **Caffe(Convolutional Architecture for Fast Feature Embedding)**是一个以表达式、速度和模块化为核心的深度学习框架,具备清晰、可读性高和快速的特性,在视频、图像处理方面应用较多。Caffe中的网络结构与优化都以配置文件形式定义,容易上手,无须通过代码构建网络;网络训练速度快,能够训练大型数据集与State-of-the-art的模型;模块化的组件可以方便地拓展到新的模型与学习任务上。
  2. Theano诞生于2008年,是一个高性能的符号计算及深度学习库,被认为是深度学习库的始祖之一,也被认为是深度学习研究和应用的重要标准之一。其核心是一个数学表达式的编译器,专门为处理大规模神经网络训练的计算而设计。Theano很好地整合了NumPy,可以直接使用NumPy的ndarray,使得API接口学习成本大为降低;其计算稳定性好,可以精准地计算输出值很小的函数,如log(1+x);可动态地生成C或者CUDA代码,用来编译成高效的机器代码。
  3. TensorFlow是相对高阶的机器学习库,其核心代码使用C++编写,并支持自动求导,使得用户可以方便地设计神经网络结构,不需要亲自编写C++或CUDA代码,也无须通过反向传播求解梯度。由于底层使用C++语言编写,运行效率得到了保证,并简化了线上部署的复杂度。除了核心代码的C++接口以外,TensorFlow还有官方的Python、Go和Java接口以外,用户可以在一个硬件配置较好的机器中用Python进行实验,并在资源比较紧张的嵌入式环境或需要低延迟的环境中用C++部署模型。TensorFlow不只局限于神经网络,其数据流式图还支持非常自由的算法表达,也可以轻松实现深度学习以外的机器学习算法。
  4. Keras是一个高度模块化的神经网络库,使用Python实现,并可以同时运行在TensorFlow和Theano上。Keras专精于深度学习,其提供了到目前为止最方便的API,用户仅需将高级的模块拼在一起便可设计神经网络,大大降低了编程开销(code overhead)与理解开销(cognitive overhead)。Keras同时支持卷积网络和循环网络,支持级联的模型或任意的图结构的模型,从CPU上计算切换到GPU加速无须任何代码的改动。简化了编程的复杂度的同时,在性能上丝毫不逊色于TensorFlow和Theano。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode MySQL 1322. 广告效果

文章目录1. 题目2. 解题1. 题目 表: Ads ------------------------ | Column Name | Type | ------------------------ | ad_id | int | | user_id | int | | action | enum | ------------------------ (ad_id, user_id) 是该表的主键…

linux下练习 c++ 容器set、multimset的特性

print.h //print.h#include <iostream>using namespace std;#ifndef print_fun#define print_funtemplate<typename T>///显示序列数据void print(T b,T e,char c ){bool isExitfalse;while (b!e){cout<<*b<<c;isExittrue;}if(isExit) cout<<end…

Python数据预处理数据的方法总结(使用sklearn-preprocessing)

文章目录数据预处理思路数据预处理方法1 标准化&#xff1a;去均值&#xff0c;方差规模化2 规模化稀疏数据3 规模化有异常值的数据4 正则化Normalization5 二值化–特征的二值化6 类别特征编码7 弥补缺失数据7 创建多项式特征数据预处理思路 1.首先要明确有多少特征&#xff…

LeetCode MySQL 1179. 重新格式化部门表

文章目录1. 题目2. 解题1. 题目 部门表 Department&#xff1a; ------------------------ | Column Name | Type | ------------------------ | id | int | | revenue | int | | month | varchar | ------------------------ (id, mo…

消息推送生命周期_一套完整的APP推送体系方案|附思维导图

写这篇文章的初衷是前几天在脉脉上看到一个问题&#xff1a;线上app push故障&#xff0c;该不该给用户发送补救推送信息&#xff1f;联想到自己当初作为实习菜鸟也犯过类似的推送事故&#xff0c;好在补救处理尚可&#xff0c;最终结果不错。这次仔细看了问题下的每一条回答&a…

七、jdk工具之jconsole命令(Java Monitoring and Management Console)

目录 一、jdk工具之jps&#xff08;JVM Process Status Tools&#xff09;命令使用 二、jdk命令之javah命令(C Header and Stub File Generator) 三、jdk工具之jstack(Java Stack Trace) 四、jdk工具之jstat命令(Java Virtual Machine Statistics Monitoring Tool) 四、jdk工具…

kaggle共享单车数据分析及预测(随机森林)

文章目录一、数据收集1.1、项目说明1.2、数据内容及变量说明二、数据处理2.1、导入数据2.2、缺失值处理2.3、Label数据(即count)异常值处理2.4、其他数据异常值处理2.5、时间型数据数据处理三、数据分析3.1 描述性分析3.2、探索性分析3.2.1、整体性分析3.2.2、相关性分析3.2.3、…

LeetCode MySQL 197. 上升的温度

文章目录1. 题目2. 解题1. 题目 给定一个 Weather 表&#xff0c;编写一个 SQL 查询&#xff0c;来查找与之前&#xff08;昨天的&#xff09;日期相比温度更高的所有日期的 Id。 --------------------------------------------- | Id(INT) | RecordDate(DATE) | Temperature…

c 语言输出后不关闭_穿书+娱乐圈 |再不跑路就要被迫C位出道了花瓶女配和影帝组CP后豪门娇美人是爽文剧本...

书单再不跑路就要被迫C位出道了花瓶女配和影帝组CP后豪门娇美人是爽文剧本1再不跑路就要被迫C位出道了作者&#xff1a;墨流霜文案&#xff1a;顾星染一觉醒来发现自己是某小说炮灰&#xff0c;未来会嫁给某女主爱慕者&#xff0c;度过悲惨的下半生。她为了逆天改命&#xff0c…

基于FPGA的图像处理(一)--System Generator介绍

计算机视觉系统通常需要进行大量的信息处理才能够得到所需要的信息。目前主要有CPU、GPU、ASIC、DSP、FPGA等计算平台。 常用的计算机视觉系统通过通用计算机进行视觉信息处理&#xff0c;但是&#xff0c;由于CPU的计算能力有限&#xff0c;对于一些计算复杂度很高的视觉算法&…

营销组合(4P营销)分析案例:采用SPSS+Excel进行分析

文章目录1、研究目的&#xff1a;营销决策2、研究内容&#xff1a;营销组合分析2.1规模预测分析2.1.1 预测思路与方法2.1.2季节分解法预测市场规模2.2 产品属性分析2.2.1 KANO模型基本思想2.2.2 KANO模型的数据分析步骤2.2.2.1 数据准备2.2.2.2 Better—Worse系数矩阵2.3 定价决…

LeetCode MySQL 1445. 苹果和桔子

文章目录1. 题目2. 解题1. 题目 表: Sales ------------------------ | Column Name | Type | ------------------------ | sale_date | date | | fruit | enum | | sold_num | int | ------------------------ (sale_date,fruit) 是该表主…

台达plc自由口通讯_台达PLC和ABB机器人Devicenet通讯

之前有经常遇见台达PLC和第三方机器人进行Devicenet通讯&#xff0c;故作以下整理&#xff0c;方便再次使用。以台达模块DVPDNET-SL与ABB IRC5通讯为例&#xff0c;方法如下&#xff1a;1.硬件连线将PLC模块端和Robot端按照引脚定义接好网线。2.设定模块地址。3.设定模块通讯速…

关于Unix哲学

今天看了一篇文章关于Unix哲学的&#xff0c;写的不错这里做个摘录。 原文地址&#xff1a;http://www.ruanyifeng.com/blog/2009/06/unix_philosophy.html 1. 清晰原则。 代码要写得尽量清晰&#xff0c;避免晦涩难懂。清晰的代码不容易崩溃&#xff0c;而且容易理解和维护。重…

电子商城战略分析(采用定性与定量分析方法)

文章目录研究目的&#xff1a;战略选择研究内容&#xff1a;环境分析宏观环境分析市场环境分析竞争环境分析定性与定量分析方法定性&#xff1a;SWOT分析定量&#xff1a;内外因素评价矩阵内外因素数据获取内外因素得分计算评分的计算权重的计算最终得分的计算制作战略选择矩阵…

LeetCode MySQL 1393. 股票的资本损益

文章目录1. 题目2. 解题1. 题目 Stocks 表&#xff1a; ------------------------ | Column Name | Type | ------------------------ | stock_name | varchar | | operation | enum | | operation_day | int | | price | int | ------------…

厂办大集体改制不签字_许昌二印,磨砂技术被外国觊觎,老工人说烂在肚子里也不外漏...

仓库租赁成为学习班和俱乐部场所市区计划改造提升老厂院10个&#xff0c;许昌市第二印刷厂有其一。今天&#xff0c;我们一起了解&#xff0c;许昌市第二印刷厂。当时&#xff0c;全国仅三家印刷厂能印制磨砂烟盒&#xff0c;市第二印刷厂位列其中。(你当年抽的磨砂许昌的包装&…

Kaggle:Video Game Sales电子游戏销售分析(Tableau展示)

文章目录项目介绍分析思路导图数据导入数据探索数据展示项目介绍 项目来源&#xff1a;Kaggle&#xff1b; 项目介绍&#xff1a;由vgchartz.com的一个刮版生成的&#xff0c;有一份综合的游戏行业销售数据&#xff0c;希望产生一份综合的游戏行业报告&#xff1b; 数据介绍&a…

LeetCode MySQL 1204. 最后一个能进入电梯的人(累加/变量/窗口函数)

文章目录1. 题目2. 解题1. 题目 表: Queue ---------------------- | Column Name | Type | ---------------------- | person_id | int | | person_name | varchar | | weight | int | | turn | int | ---------------------- person_id 是这个…

facenet训练自己的数据_①如何帮助自己简易分析体测数据②没有私教一个人无法开始训练?...

我们进健身房后&#xff0c;办卡以后&#xff0c;会有教练联系免费帮你做检测&#xff0c;检测后会拿出一张纸&#xff0c;聊完天&#xff0c;你就拿出一张卡&#xff0c;抱着一两个月我就会有巨大改变的决心&#xff0c;你辛苦赚的万八千就消失了&#xff0e;这张纸真的有这么…