CHAPTER 1
1.1 我们平时要处理的数据一般是结构化的数据(structured data),比如:
- 表格型数据,每一列都有不同的类型(字符串,数字,日期等),常见于tab符号或者逗号分隔(比如csv文件)
- 多维数组(矩阵)
- 用一列作为键(SQL中的主键和外键),整合多个表格的数据
- 时间序列数据
大部分数据都可以转换为结构化数据,方便进行建模和分析;
剩下无法转化的可以从数据集中抽取特征,做成一个结构化的形式。(新闻可以处理为单词频率表格, 然后我们对其进行情感分析)
1.2使用python语言的优缺点:
- 优点:是一门胶水语言,可以把不同的语言整合起来(比如上层用python,底层用c,c++);
以前写原型用一种语言,部署用一种语言 - 缺点:python是一种解释性程序设计语言,运行速度比java或c++慢(为使用效率高而用c++)
用python编写多线程应用并不方便,因为python有一个叫做全局解释器锁的机制,这个机制让编译器智能在一次运行一个python指令,并不适合大数据量的处理。
1.3 一些重要的库
- Numpy:科学计算上的作用都基于它。还影响了另一个很有名的深度学习库,PyTorch;
使用 Python 进行科学计算:http://codingpy.com/article/an-introduction-to-numpy/ - pandas:该书的主角,用于进行数据处理和清洗的利器
- matplotlib:用于绘图和数据可视化
1.4Installation and Setup
- Anaconda使用总结:https://www.jianshu.com/p/2f3be7781451
- Windows下Anaconda的安装和简单使用:
- 初学Python者自学anaconda的正确姿势是什么:https://www.zhihu.com/question/58033789可以使用conda和pip两种工具进行库的下载和更新:
conda install package_name
但有时候一些库不在Anaconda的服务器上,上面的命令会实效,这个时候我们可以使用pip(一个python的包管理工具):
pip install package_name
pip更新:
pip install --upgrade package_name
这两个下载方式都可以用,不会冲突的。不过不要使用pip来更新用conda下载的包,这会导致库之间的依赖出现问题。所以在使用Anaconda的时候,最好先尝试使用conda来更新,不行的话再使用pip。
1.5 Import Conventions
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import statsmodels as sm