2018-05-10 15:06:43 lmseo5hy 阅读数 3176

Python之所以这么流行,这么好用,就是因为Python提供了大量的第三方的库,开箱即用,非常方便,而且还免费哦,学Python的同学里估计有30%以上是为了做数据分析师或者数据挖掘,所以数据分析相关的库一定要熟悉,那么常用的Python数据分析库有哪些呢?

1.NumPy

NumPy是Python科学计算的基础包,它提供:

1).快速高效的多维数组对象ndarray;

2).直接对数组执行数学运算及对数组执行元素级计算的函数;

3).用于读写硬盘上基于数组的数据集的工具;

4).线性代数运算、傅里叶变换,以及随机数生成。

2.Pandas

大名鼎鼎的Pandas可以说只要做数据分析的,无人不知无人不晓,因为它太重要了.Pandas库提供了我们很多函数,能够快速的方便的,处理结构化的大型数据,不夸张的说,Pandas是让Python成为强大的数据分析工具的非常重要的一个因素。

而且对于金融行业,比如基金股票的分析师来说,pandas提供了高性能的时间序列功能和一系列的工具,可以自由的灵活的处理数据,一次使用你就会爱上它。

3.Matplotlib

matplotlib是最流行的用于绘制数据图表的Python库,它和下面我们要讲的IPython结合的很爽,绝对是好基友,提供了一种非常好用的交互式的数据绘图环境。

4.IPython

IPython是Python科学计算标准工具集的组成部分,它可以把很多东西联系到一起,有点类似一个增强版的Python shell。

目的是为了提高编程,测试和调试Python代码的速度,好像很多国外的大学教授,还有Google大牛都很喜欢用IPython,确实很方便,至少我在分析数据的时候,也是用这个工具的,而且不用print,回车就能打印。

如果您对Python数据分析感兴趣,想学习更多Python知识,可以报名参加老男孩教育Python培训班,全面系统的Python培训课程,行之有效的学习方法,技术大牛讲师,让您轻松学会高深技能!
2018-07-22 19:43:44 weixin_39778570 阅读数 16422

所有资料汇总学习:点这里

利用python进行数据分析

Numpy

Numpy简单使用(入门)

Pandas入门

Pandas入门系列(一)-- Series
Pandas入门系列(二)-- DataFrame
Pandas入门系列(三)-- 深入理解Series和DataFrame
Pandas入门系列(四) – Pandas io操作
Pandas入门系列(五) – Indexing和Selecting
Pandas入门系列(六) – reindex
Pandas入门系列(七) – NaN
Pandas入门系列(八) – 多级index
Pandas入门系列(九) – Map和replace

pandas进阶

Pandas玩转数据(一) – 简单计算
Pandas玩转数据(二) – Series和DataFrame排序
Pandas玩转数据(三) – DataFrame重命名
Pandas玩转数据(四) – DataFrame的merge
Pandas玩转数据(五) – Concatenate和Combine
Pandas玩转数据(六) – 通过apply对数据进行处理
Pandas玩转数据(七) – Series和DataFrame去重
Pandas玩转数据(八) – 时间序列简单操作
Pandas玩转数据(九) – 时间序列的采样和画图
Pandas玩转数据(十) – 数据分箱技术Binning
Pandas玩转数据(十一) – 数据分组技术Groupby
Pandas玩转数据(十二) – 数据聚合技术Aggregation
Pandas玩转数据(十三) – 透视表
Pandas玩转数据(十四) – 分组和透视功能实战

Matplotlib入门

Matplotlib简单画图(一) – plot
Matplotlib简单画图(二) – subplot
Matplotlib简单画图(三) – pandas绘图之Series
Matplotlib简单画图(四) – pandas绘图之DataFrame
Matplotlib简单画图(五) – 直方图和密度图

Matplotlib扩展之Seaborn

Seaborn简单画图(一) – 散点图
Seaborn简单画图(二) – 直方图和密度图
Seaborn简单画图(三) – 柱状图和热力图
Seaborn简单画图(四) – 设置图形显示效果
Seaborn简单画图(五) – Seaborn调色功能

获取数据的一个库Tushare

Tushare获取数据

简单实战

股票市场分析实战

2019-04-25 20:33:44 weixin_41792682 阅读数 301

python数据分析:数据库基本操作(SQLite)

SQLite:
  • 关系型数据库管理系统
  • 嵌入式数据库,适用于嵌入式设备
  • SQLite不是C/S的数据库引擎
  • 集成在用户程序中
  • 实现了大多数SQL标准
连接数据库:
  • conn = sqlite3.connect(db_name)
    • 如果db_name存在,则读取数据库
    • 若不存在,则新建数据库
获取游标:
  • conn.cursor()
  • 一段私有的SQL工作区,用于暂时存放受SQL语句影响的数据(类似于指针)
CRUD操作:
  • cursor.execute(sql_str) 执行单条SQL语句
  • cursor.executemany(sql_str) SQL语句批量操作

fetchone() 接收一条返回结果行

fetchall() 接收全部返回结果行

conn.commit() 提交操作

关闭连接:
  • conn.close()
import sqlite3

db_path = 'test.sqlite'

conn = sqlite3.connect(db_path)
cur = conn.cursor()
conn.text_factory = str  # 处理中文,指定文本工厂为str类型
cur.execute('SELECT SQLITE_VERSION()')

print('SQLite版本:', str(cur.fetchone()[0]))

执行结果:
在这里插入图片描述

# 判断表是否存在
cur.execute("DROP TABLE IF EXISTS book")
# 新建表
cur.execute("CREATE TABLE book(id INT, name TEXT, price DOUBLE)")
# 逐行插入数据
cur.execute("INSERT INTO book VALUES(1,'肖秀荣考研书系列:肖秀荣(2017)考研政治命题人终极预测4套卷',14.40)")
cur.execute("INSERT INTO book VALUES(2,'法医秦明作品集:幸存者+清道夫+尸语者+无声的证词+第十一根手指(套装共5册) (两种封面随机发货)',100.00)")
cur.execute("INSERT INTO book VALUES(3,'活着本来单纯:丰子恺散文漫画精品集(收藏本)',30.90)")
cur.execute("INSERT INTO book VALUES(4,'自在独行:贾平凹的独行世界',26.80)")
cur.execute("INSERT INTO book VALUES(5,'当你的才华还撑不起你的梦想时',23.00)")
cur.execute("INSERT INTO book VALUES(6,'巨人的陨落(套装共3册)',84.90)")
cur.execute("INSERT INTO book VALUES(7,'孤独深处(收录雨果奖获奖作品《北京折叠》)',21.90)")
cur.execute("INSERT INTO book VALUES(8,'世界知名企业员工指定培训教材:所谓情商高,就是会说话',22.00)")

# 批量插入数据
books = (
    (9, '人间草木', 30.00),
    (10,'你的善良必须有点锋芒', 20.50),
    (11, '这么慢,那么美', 24.80),
    (12, '考拉小巫的英语学习日记:写给为梦想而奋斗的人(全新修订版)', 23.90)
)
# 问号为占位符,用books进行填充
cur.executemany("INSERT INTO book VALUES(?, ?, ?)", books)

# 提交操作
conn.commit()

# 查询操作
cur.execute('SELECT * FROM book')
# 接收全部返回结果行
rows = cur.fetchall()

# 通过索引号访问
for row in rows:
    print('序号: {}, 书名: {}, 价格: {}'.format(row[0], row[1], row[2]))

运行结果:
在这里插入图片描述

# 查询操作(通过列名形式访问)
conn.row_factory = sqlite3.Row
cur = conn.cursor() 
cur.execute('SELECT * FROM book')
rows = cur.fetchall()

# 通过列名访问
for row in rows:
    print('序号: {}, 书名: {}, 价格: {}'.format(row['id'], row['name'], row['price']))
    
#关闭连接
conn.close()

执行结果:
在这里插入图片描述

其他常用数据库:
2017-02-24 11:39:10 qq_16633405 阅读数 6502

在下载了pycharm软件以及通过前两篇文章,配置了相应的模块包之后,那就开始对常用的模块的学习,以便后期利用这些模块对数据做模型化处理。

 

如果你已经决定把Python作为你的编程语言,那么,你脑海中的下一个问题会是:“进行数据分析有哪些Python库可用?”

Python有很多库可用来进行数据分析。但不必担心,你不需要学习所有那些可用库。你只须了解5个Python库,就可以完成绝大多数数据分析任务。下面逐一简单介绍这5个库,并提供你一些最好的教程来学习它们。

1.Numpy
对于科学计算,它是Python创建的所有更高层工具的基础。以下是它提供的一些功能:
1. N维数组,一种快速、高效使用内存的多维数组,它提供矢量化数学运算 。
2. 你可以不需要使用循环,就对整个数组内的数据行标准数学运算。
3. 非常便于传送数据到用低级语言(如C或C++)编写的外部库,也便于外部库以Numpy数组形式返回数据。
NumPy不提供高级数据分析功能,但有了对NumPy数组和面向数组的计算的理解,能帮助你更有效地使用像Pandas之类的工具。
教程:
1. Scipy.org提供了Numpy库的简要说明


http://scipy.org/

 

2. 这个教程棒极了,完全注重于Numpy的可用性

 

2.Scipy
Scipy库依赖于NumPy,它提供便捷和快速的N维向量数组操作。SciPy库的建立就是和NumPy数组一起工作,并提供许多对用户友好的和有效的数值例程,如:数值积分和优化。SciPy提供模块用于优化、线性代数、积分以及其它数据科学中的通用任务。
教程:
我找不到比Scipy.org更好的教程了,它学习Scipy的最佳教程


3.Pandas
Pandas包含高级数据结构,以及和让数据分析变得快速、简单的工具。它建立在NumPy之上,使以NumPy为中心的应用变得简单。
1. 带有坐标轴的数据结构,支持自动或明确的数据对齐。这能防止由于数据没有对齐,以及处理不同来源的、采用不同索引的数据而产生的常见错误。
2. 使用Pandas更容易处理缺失数据。
3. 合并流行数据库(如:基于SQL的数据库)中能找到 的关系操作。
Pandas是进行数据清洗/整理(data munging)的最好工具。


教程:
1. Pandas快速入门
2. Alfred Essa有一系列关于Pandas的视频,这些视频应该会让你很好地了解基本概念。
http://alfredessa.com/data-analysis-tutorial/2-pandas-library/

3. 还有,不可错过Shane Neeley提供的教程视频,它全面介绍了Numpy, Scipy和Matplotlib

 

Matplotlib
Matlplotlib是Python的一个可视化模块。它让你方便地制作线条图、饼图、柱状图以及其它专业图形。使用Matplotlib,你可以定制所做图表的任一方面。在IPython中使用时,Matplotlib有一些互动功能,如:缩放和平移。它支持所有的操作系统下不同的GUI后端(back ends),并且可以将图形输出为常见地矢量图和图形格式,如:PDF、SVG、JPG、PNG、BMP和GIF等。
教程:


1. ShowMeDo网站上有一个关于很好地教程


2. 推荐这本书Packt出版社的操作宝典,对于初学者来说,这本书真是极棒的~

 

5.Scikit-learn
Scikit-learn是一个用于机器学习的Python模块。它建立在Scipy之上,提供了一套常用机器学习算法,让使用者通过一个统一的接口来使用。Scikit-learn有助于你迅速地在你的数据集上实现流行的算法。
看一下Scikit-learn中提供的算法列表,你就会马上意识到它包含了许多用于标准机器学习任务的工具,如:聚类、分类和回归等。

教程:
1. Scikit-learn入门

 

2. 来自于Scikit-learn.org的教程

结束语:还有其它一些库,如:用于自然语言处理的Nltk,用于网站数据抓取的Scrappy ,用于网络挖掘的Pattern ,用于深度学习的Theano等。

但是,如果你正开始学习Python,我建议你首先熟悉这5个库。
我说过,这些教程都非常适合初学者。不过,在学习这些教程前,先要熟悉Python语言的基本编程知识。

 

 

 

2019-11-20 23:20:30 qq_45570838 阅读数 54

第一章 准备工作

1.1 本书内容
虽然书名带有“数据分析”,但是本书着重于Python语言的编程、类库、工具而不是数据分析方法论。

1.3 重要的Python库

1.3.1 Numpy
该库是Python数值计算的基石。
1.3.2 pandas
该库提供了高级数据结构和函数,使得利用结构化、表格化数据的工作快速、简单、有表现力。
1.3.3 matplotlib
该库是最流行的用于制图及其他二维数据可视化的Python库。
1.3.4 IPython与Jupyter
关系:IPython自身已经是Jupyter开源项目中的一个组件,后者提供交互性、探索性的高效环境。
1.3.6 scikit-learn的模块
分类:SVM、最近邻、随机森林、逻辑回归等
回归:Lasso、岭回归等
聚类:k-means、谱聚类等
降维:PCA、特征选择、矩阵分解等
模型选择:网格搜索、交叉验证、指标矩阵
预处理:特征提取、正态化
1.6.3命名约定
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import statsmodels as sm
一次性在Numpy这样的大包里引入所有内容(from numpy import *)在Python软件开发中被认为是拙劣。

第二章 Python语言基础、IPython及Jupyter notebook

2.1Python解释器
标准的交互式Python解释器可以通过在命令行输入python命令来启动:


C:\Users\lenovo>python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

2.2.2 运行Jupyter notebook :

F:\BaiduNetdiskDownload\Python\Scripts\jupyter-notebook>jupyter notebook

执行指令后,默认浏览器自动弹出界面。

2.2.3 Tab补全
例如:
2.2.4 内省
在一个变量名前后使用?可以显示一些关于该对象的概要信息:

如果是一个函数或者实例方法且文档字符串已经写好,则文件字符串会显示出来。例子:
在这里插入图片描述
使用双问号可以查看函数源代码:
在这里插入图片描述
?有一个终极用途,把一些字符和通配符(星号*)结合在一起,会显示所有匹配通配符表达式的命名:
在这里插入图片描述

2.2.5 %run命令
%load ___.py魔法命令可以可以将脚本导入一个代码模块
%run命令可以执行Python程序文件如图二
在使用%run -i ____.py时,脚本里使用的变量值为交互式IPython命名空间中已有的变量,例如图一
图二
图一
2.2.5.1 中断运行中的代码
在任意代码运行按下Ctrl-C,都将引起KeyboardInterrupt。除了特殊情况,这将导致所有的Python程序立即停止运行。
当一段代码被其他已经编译的扩展模块调用时,按下Ctrl-C并不会使程序立即停止,在这种情况下,你需要等待控制流重新返回Python解释器,在更糟糕的情况下可能要强制结束Python进程。
2.2.6 执行剪贴版中的程序
%paste会获得剪贴板上的所有文本,并在命令行中作为一个代码块去执行。
%cpaste,可以自由的在执行代码前尽可能多的粘贴代码

2.3.1.5 变量和参数传递
某些语言中,会是数据[1,2,3]被拷贝的过程。在Python中,a、b实际上是指向了相同的对象,即原来的[1,2,3]。证明:
在这里插入图片描述

本书中觉得不是太有用的内容就会直接跳过。我就想把自己每天看的书在这里写出来加深理解,有的不是太有必要我就不写了。我是新手啊,新到不能在新了,哈哈哈。

今天先写到38页,明天继续。这是我第一次写帖子,有什么不好的明天再改
下一节在这里《利用Python进行数据分析第二版》学习(二)

python数据分析入门

阅读数 650

没有更多推荐了,返回首页