Pandas

Pandas是 Python下最强大的数据分析和探索工具。它包含高级的数据结构和精巧的工具,使得在 Python中处理数据非常快速和简单。 Pandas构建在 Numpy之上,它使得以 Numpy为中心的应用很容易使用。Pandas的功能非常强大,支持类似于SQL的数据增、删、查、改,并且带有丰富的数据处理函数;支持时间序列分析功能;支持灵活处理缺失数据等。

Pandas的安装相对来说比较容易,安装好 Numpy之后,就可以直接安装了,通过pip install pandas或下载源码后 python setup. py install安装均可。由于我们频繁用到读取和写入Excel,但默认的 Pandas还不能读写 Excel文件,需要安装xlrd(读)和xlwt(写)库才能支持 Excel的读写,方法如下:

pip install xrd #为 Python添加读取 Excel的功能

pip install xlwt #为 Python添加写入 Excel的功能

Pandas基本的数据结构是 Series和 Dataframe。顾名思义, Series就是序列,类似一维数组; Data Frame则是相当于一张二维的表格,类似二维数组,它的每一列都是一个 Series。为了定位 Series中的元素, Pandas提供了Index对象,每个 Series都会带有一个对应的Index,用来标记不同的元素, Index的内容不一定是数字,也可以是字母、中文等,它类似于SQL中的主键。

类似地, Data Frame相当于多个带有同样 Index的 Series的组合,每个 Seiries都带有唯一的表头,用来标识不同的 Series。举个例子:

# -*- coding:utf-8 -*-

import pandas as pd #通常用pd作为 pandas的别名。

s=pd.Series([1,2,3], index=['a','b','c']) #创建一个序列s

d=pd.DataFrame([[1,2,3],[4,5,6]], columns=['a','b','c']) #创建一个表

d2=pd.DataFrame(s) #也可以用已有的序列来创建表格

print(d.head()) #预览前5行数据

print(d.describe()) #数据基本统计量

pd.read_excel('data.xls') #读取Exce1文件,创建 Dataframe

pd.read_csv('data.csv', encoding='utf-8') #读取文本格式的数据,一般用 encoding指定编码。

StatsModels

Pandas着眼于数据的读取、处理和探索,而StatsModels则更加注重数据的统计建模分析,它使得 Python有了R语言的味道。 StatsModels支持与 Pandas进行数据交互,因此,它与 Pandas结合,成为了 Python下强大的数据挖掘组合。

安装StatsModels相当简单,既可以通过pip安装,又可以通过源码安装。对于Windows用户来说,官网上甚至已经有编译好的exe文件以供下载。如果手动安装的话,需要自行解决好依赖问题, Statmodel依赖于Pandas(当然也依赖于 Pandas所依赖的),同时还依赖于pasty(一个描述统计的库)。

下面是一个用 Stats Models来进行ADF平稳性检验的例子。

# -*- coding: utf-8 -*-

from statsmodels.tsa.stattools import adfuller as ADF #导入ADF恰验

import numpy as np

ADF.(np.random.rand(100)) #返回的结果有ADF、p值

Scikit-Learn

Scikit-Learn是 Python下强大的机器学习工具包,它提供了完善的机器学习工具箱,包括数据预处理、分类、回归、聚类、预测和模型分析等。Scikit-Learn依赖于 Numpy、 Scipy和 Matplotlib,因此,只需要提前安装好这几个库,然后安装 Scikit-Learn就基本上没有什么问题了,安装方法和之前一样,要不就是pipinstall scikit-leam安装,要不就是下载源码自己安装。

创建一个机器学习的模型很简单:

# -*- coding:utf-8 -*-

from sklearn.linear_model import Linearregression #导入线性回归模型

model= Linearregression() #建立线性回归模型

print (model)

1)所有模型提供的接口有:

model fit0:训练模型,对于监督模型来说是 fit(x,y),对于非监督模型是fit(X)。

2)监督模型提供的接口有:

model predict(xnew):预测新样本

model predict proba(Xnew):预测概率,仅对某些模型有用(比如LR)

model score:得分越高,fit越好

3)非监督模型提供的接口有:

model transform(:从数据中学到新的“基空间”

model fit transform:从数据中学到新的基并将这个数据按照这组“基”进行转换。

Scikit- Learn本身提供了一些实例数据,比较常见的有安德森鸢尾花卉数据集、手写图像数据集等。现在使用鸢尾花数据集iris写一个简单的机器学习的例子。对于这个数据集,可以阅读《R语言数据挖掘实践——数据挖掘简介

# -*- coding:utf-8 -*-

from sklearn import datasets #导入数据集

iris= datasets.load_iris() #加载数据集

print(iris.data.shape) #查看数据集大小

from sklearn import svm #导入SVM模型

clf=svm. LinearSVC() #建立线性SVM分类器

clf.fit(iris.data,iris.target) #用数据训练模型

clf.predict([[5.0,3.6,1.3,0.25]]) #训练好模型之后,输入新的数据进行预测

clf.coef_ #查看训练好模型的参数

python数据分析工具——Pandas、StatsModels、Scikit-Learn的更多相关文章

  1. python数据分析工具 | pandas

    pandas是python下强大的数据分析和探索工具,是的python在处理数据时非常快速.简单.它是构建在numpy之上的,包含丰富的数据处理函数,支持时间序列分析功能,支持灵活处理缺失数据. pa ...

  2. Python数据分析工具:Pandas之Series

    Python数据分析工具:Pandas之Series Pandas概述Pandas是Python的一个数据分析包,该工具为解决数据分析任务而创建.Pandas纳入大量库和标准数据模型,提供高效的操作数 ...

  3. Python数据分析库pandas基本操作

    Python数据分析库pandas基本操作2017年02月20日 17:09:06 birdlove1987 阅读数:22631 标签: python 数据分析 pandas 更多 个人分类: Pyt ...

  4. Python数据分析之pandas基本数据结构:Series、DataFrame

    1引言 本文总结Pandas中两种常用的数据类型: (1)Series是一种一维的带标签数组对象. (2)DataFrame,二维,Series容器 2 Series数组 2.1 Series数组构成 ...

  5. Python 数据分析:Pandas 缺省值的判断

    Python 数据分析:Pandas 缺省值的判断 背景 我们从数据库中取出数据存入 Pandas None 转换成 NaN 或 NaT.但是,我们将 Pandas 数据写入数据库时又需要转换成 No ...

  6. 数据分析工具Pandas

        参考学习资料:http://pandas.pydata.org 1.什么是Pandas? Pandas的名称来自于面板数据(panel data)和Python数据分析(data analys ...

  7. 数据分析工具pandas简介

    什么是Pandas? Pandas的名称来自于面板数据(panel data)和Python数据分析(data analysis). Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建 ...

  8. python数据分析工具安装集合

    用python做数据分析离不开几个好的轮子(或称为科学棧/第三方包等),比如matplotlib,numpy, scipy, pandas, scikit-learn, gensim等,这些包的功能强 ...

  9. Python数据分析之Pandas操作大全

    从头到尾都是手码的,文中的所有示例也都是在Pycharm中运行过的,自己整理笔记的最大好处在于可以按照自己的思路来构建矿建,等到将来在需要的时候能够以最快的速度看懂并应用=_= 注:为方便表述,本章设 ...

随机推荐

  1. 4 Values whose Sum is 0 POJ - 2785(二分应用)

    题意:输入一个数字n,代表有n行a,b,c,d,求a+b+c+d=0有多少组情况. 思路:先求出前两个数字的所有情况,装在一个数组里面,再去求后两个数字的时候二分查找第一个大于等于这个数的位置和第一个 ...

  2. Reactor模式和Proactor模式

    Reactor 主线程往epoll内核事件表中注册socket上的读就绪事件 主线程调用epoll_wait等待socket上有数据可读 当socket上有数据可读时,epoll_wait通知主线程, ...

  3. SpringBoot系列(二)入门知识

    SpringBoot系列(二)入门知识 往期推荐 SpringBoot系列(一)idea新建springboot项目 引言 本来新建springboot项目应该放在入门知识这一章的,但是由于新建spr ...

  4. sql MariaDB 安装contos

    安装和运行MySQL数据库(MariaDB) centos 平台 1.安装和运行 yum install mariadb mariadb-server - 安装 systemctl start mar ...

  5. 基于Asp.Net Core,利用ZXing来生成二维码的一般流程

    本文主要介绍如何在.net环境下,基于Asp.Net Core,利用ZXing来生成二维码的一般操作.对二维码工作原理了解,详情见:https://blog.csdn.net/weixin_36191 ...

  6. php simplexml_load_string 返回的对象print_r后,丢失信息?

    <?php $content = '<dblp> <inproceedings key="conf/aaim/He07" mdate="2007- ...

  7. mpvue 踩坑之src数据绑定出错

    原文链接:https://blog.csdn.net/weixin_38984353/article/details/80847288 src实现数据绑定稍不留神就不成功.假定value.src是绑定 ...

  8. 关于Git我们不得不知道的事(一)

    一.什么是Git? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git可以协助我们很方便的管理我们的项目,我们随时可以找回(或者回到)我们之前任何一个时刻的项目:还可以让同事或者开发小 ...

  9. Tkinter 控件

    文章更新于:2020-02-19 待翻译跟进 In this part of the Tkinter tutorial, we will cover some basic Tkinter widget ...

  10. Linux bash篇(三 数据流重定向)

    1>        以覆盖的方式将正确的数据输出到文件或设备上 1>>        以追加的方式将正确的数据输出到文件或设备上 2>        以覆盖的方式将错误的数据输 ...