文章架构
1.python基础
1.1 python简介
都说python是门胶水语言,可以在需要的地方轻松地粘合目标需求。我觉得python的主要优点有两点:
① 只需聚焦实现逻辑:只要把逻辑捋顺,调用第三方库可以轻易实现处理逻辑。语法简洁,符合日常阅读的习惯。
② 容易获得相关的技术/理论支持:python社区庞大,只要关键词选取得当即可在网络上检索到大多数问题的解决办法。使用者众多,可以轻易找到使用者交流群组。
1.2 python安装
新手可以直接安装Anaconda,这是一个开源的python发行版本,发行版的意思就是在python官方本本的基础上添加了一些额外的内容。这些额外的内容在Anaconda中指的的是:
1. python科学计算相关的第三方库:集成大多数数据科学计算相关的包,大大节省了学习和使用过程中第三方库安装和配置的时间;
2. conda:开源软件包和环境管理系统,可以在集成环境的基础上管理和安装新的第三方库。
3. ipython:全称是“interactive Python”,相当于加强版的Python shell,除了基础的交互功能以外,还提供了以下的功能:
①支持jupyter的python计算“核”(Kernel)
②支持可交互的数据可视化
从而可以通过快速试错和迭代,提高编码、测试、调试的效率。
4. jupyter notebook,承载Ipython功能的一个Web应用程序,功能如下图所示。
笔者安装的版本(Anaconda官网截图)
jupyter notebook 交互示意
1.3python语法和使用
个人水平和时间有限不作总结,推荐两个相关的教程:
① 文字教程:廖雪峰Python教程。使用姿势:
1)建立python语法知识体系:”全篇“扫描一遍;
2)当作工具参考:按照关键词+ sites:http://www.liaoxuefeng.com。
例如:python 类 site:http://www.liaoxuefeng.com,即可检索到该网站内关键词相关的内容。
② 视频教程:优达学城免费课程:编程基础:Python,课程老师是一个亲和力满分的帅气印度裔小哥,内容适合完全零基础的小白同学。课程内容比较基础,但是学习的方法和练习内容都挺有意思。
2.python数据分析
2.0相关工具介绍:
- 使用的工具是anaconda集成的jupyter notebook(属于Ipython)
新建ipython notebook 文件(后缀.ipynb)
2 .主要使用pandas和matlibplot两个包
pandas是什么? pandas是一个能提供高效处理结构化数据的数据结构和函数(方法)。pandas 有两种数据结构,DataFrame和Numpy。为什么要单独创造新的数据结构呢?python自身的数据结构不好用吗?新数据结构有什么优势呢?答案是:新的数据结构好用得飞起,
这两种结构可以进行矩阵运算,这就意味着一些数学矩阵的处理可以被快速地完成,以及快速地进行查询并赋值;pandas提供了一系列的数据处理的函数(方法),例如从数据读取、数据预处理、数据分析和数据可视化都有相应的函数。值得注意的是,sql中的一些数据处理操作也可以轻易地实现,例如连接(join)操作,分组(groupby)等,都可以通过简洁易维护的代码实现。2.1数据获取① 数据读取:
1)读取数据库数据:pd.read_sql()
2)读取文本数据:pd.read_csv()
3)读取excel数据:pd.read_excel()
更多数据读取的姿势,可以结合具体需求和遇到的问题检索,绝大多数基础问题都会有现成的答案。检索相关函数用法时可以加上关键词 doc 即document的缩写,可以轻易搜到相关的文档。
# 以下时简单示例,不做过多的介绍
② 数据初始化:
import
# 2.通过“列表”组成的字典初始化:等长的numpy多维数组、等长的多维的list
2.2探索性分析① 数据预览
# 查看数据属性,列名和对应数据格式
② 数据切片
通过
数据长这样
可参考官方文档:Indexing and Selecting Data2.3数据清洗①行列处理:切片、排序、合并、转换
# 切片 见2.2.2
join效果图:
转置效果图:
② 数据类型转换:
# 强制类型转换 int float category datetime64[ns] datetime64
③ 缺失值处理:定位、填充、删除
# 缺失值定位
④ 赋值
# 赋值 按位置、按条件、按行/列
2.4数据分析① 简单运算:“矩阵”运算
# 可以直接进行四则运算,会自动对齐index相同的数据,indexi不同则没有结果。
② 统计分析:统计指标计算、聚合分析
df_data
③ 可视化分析:对比、分布、联系、构成
待更新
(未完待续)
待更新:
- ipython简介(2019年7月29日更新)
- 可视化架构的实现
- 统计指标补全(2019年7月29日更新)
- 相关代码 ipython文件
- 从markdown到知乎的好用工具(直接从印象笔记复制过来,代码不能识别、序号会乱掉)