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

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