数据分析
定义:
商业分析是基于商业目的,有目的的进行收集、整理、加工和分析数据,提炼有价值信息的一个过程。
过程:
明确分析目的与框架、数据收集、数据处理(数据清洗、数据转换)、数据分析、数据展现和撰写报告等6个阶段
数据类型:
- 表格型数据
- 多维数组(矩阵)
- 通过关键列
- 间隔平均或不平均的时间序列
excel是最广泛的数据分析工具
为什么用python进行数据分析
- 拥有巨大活跃的科学计算社区
- 数据科学、机器学习、学界和工业界开发重要语言
- 胶水语言,轻松集成旧有算法和系统
- 不仅适用于研究和原型构建,同时也适用于构建生产系统
重要的python库
1.Numpy(Numerical python)
python科学计算的基础包
- 快速高效的多维数组对象ndarray
- 用于对数组执行元素级计算以及直接对数组执行数学运算的函数
- 用于读写硬盘上基于数组的数据集的工具
- 线性代数运算、傅里叶变换,以及随机数生成
- 成熟的C API,用于python插件和原生C、C++、Fortran代码访问Numpy的数据结构和计算工具
- 对于数值型数据,Numpy数组在存储和处理数据时要比内置的python数据结构高效的多。
- pandas
pandas提供了快速便捷处理结构化数据的⼤量数据结构和函数。
pandas兼具NumPy⾼性能的数组计算功能以及电⼦表格和关系型数据库(如SQL)灵活的数据处理功能。它提供了复杂精细的索引功能,能更加便捷地完成重塑、切⽚和切块、聚合以及选取数据⼦集等操作
数据操作、准备、清洗是数据分析最重要的技能(耗时最⻓)
- matplotlib
最流行的用于绘制图表和其他二维数据可视化的python库
适合创建出版物上用的图表
- ipython 和 jupyter
执行 → 探索 工作流(探索、试错、重复)
ipython web notebook → jupyter notebook(支持40多种编程语言) - Scipy
一组专门解决科学计算中各种标准问题域的包的集合 - scikit-learm
scikit-learm成为python的通用机器学习的工具包 - statsmofels
statsmodels包含经典统计学和经济计量学的算法
运行Jupyter Notebook
pip install ipython
pip install numpy
pip install jupyter
pip install pandas
pip install matplotlib
pip install scikitlearn
notebook是Jupyter项⽬的重要组件之⼀,它是⼀个代码、⽂本(有标记或⽆标记)、数据可
视化或其它输出的交互式⽂档。
Python的Jupyter内核是使⽤IPython。
Numpy
Numpy:数组和矢量计算
- NumPy之于数值计算特别重要的原因之⼀,是因为它可以⾼效处理⼤数组的数据
- NumPy是在⼀个连续的内存块中存储数据,独⽴于其他Python内置对象。NumPy的C语⾔编
- 写的算法库可以操作内存,⽽不必进⾏类型检查或其它前期⼯作。⽐起Python的内置序列,
- NumPy数组使⽤的内存更少。
NumPy的ndarray:⼀种多维数组对象
NumPy最重要的⼀个特点就是其N维数组对象(即ndarray), 该对象是⼀个快速⽽灵活的⼤
数据集容器。你可以利⽤这种数组对整块数据执⾏⼀些数学运算,其语法跟标量元素之间的运
算⼀样。
NumPy数组的运算
不⽤编写循环即可对数据执⾏批量运算。NumPy⽤户称其为⽮量化(vectorization)。⼤⼩相等的数组之间的任何算术运算都会将运算应⽤到元素级
pandas
pandas是专⻔为处理表格和混杂数据设计的,⽽NumPy更适合处理统⼀
的数值数组数据。
两个主要数据结构:Series和DataFrame
Series
Series是⼀种类似于⼀维数组的对象,它由⼀组数据(各种NumPy数据类型)以及⼀组与之相关的数据标签(即索引)组成
DataFrame
DataFrame是⼀个表格型的数据结构,它含有⼀组有序的列,每列可以是不同的值类型(数
值、字符串、布尔值等),DataFrame既有⾏索引也有列索引。
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
'year': [2000, 2001, 2002, 2001, 2002, 2003],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
frame = pd.DataFrame(data)
数据加载、存储和⽂件格式
读写⽂本格式的数据
pandas提供了⼀些⽤于将表格型数据读取为DataFrame对象的函数,其中read_csv和
read_table⽤得最多
read_csv # 从文件、url、文件型对象中加载带分割符的数据。默认分割符为逗号
read_table # 从文件、url、文件型对象中加载带分割符的数据。默认分割符为制表符(‘\t’)
read_fwf # 读取定宽列格式数据(也就是说,没有分割符)
read_clipboard #读取剪贴板中的数据,可以看作read_table的剪贴板。再将网页转换为表格时很有用
read_excel #从Excel Xls或XLSX file读取表格数据
read_hdf #读取pandas写的HDF5文件
read_html 读取HTML文档中的所有表格
read_json #读取JSON(JAVAScript Object Notation)字符串中的数据
read_msgpack #二进制格式编码的pandas数据
read_pickle #读取python pickle格式中存储的任意对象
read_sas # 读取存储于SAS系统自定义存储格式的任意对象
read_sql # (使用SQLAlchemy)读取SQL查询结果为pandas的DateFrame
read_stata # 读取stata文件格式的数据集
read_feather # 读取Feather二进制文件格式
需要详细知识留言整理。