嵩天老师的课感觉很好呀,啦啦啦
0. 数据分析之前奏
课程主要内容:
常用IDE:
本课程主要使用:Anaconda
Anaconda:一个集合,包括conda、某版本Python、一批第三方库等
-支持近800个第三方库
-适合科学计算领域
-包含多个主流工具
-开源免费
-跨平台
本身不是个ide 是将多个工具集成在一起的
conda
-一个工具,用于包管理和环境管理
-包管理与pip类似,管理Python第三方库
-环境管理能够允许用户使用不同版本的Python,并能灵活切换
conda将工具、第三方库、Python版本、conda都当作包,同等对待
conda有命令行工具
C:\Users\king\Anaconda3\Scripts\conda.exe –version 可以查看conda版本
conda update conda 升级conda
刚开始的是命令行,现在也集成为GUI,anaconda默认生成root的环境空间
编程工具:spyder
默认不舒服 改下
交互式编程环境:IPython
-是一个功能强大的交互式shell
-适合进行交互式数据可视化和GUI相关应用
IPython几个技巧
?:可以在变量或者函数前面加?获得通用信息
%run :可以执行.py程序 注意:%run在一个空的命名空间执行%
trouble shooting:
在ubuntu18中安装了anaconda3,启动spyder报错Segmentation fault (core dumped)
安装conda install pyopengl 然后再启动 卡住半天没了 出现killed报错 我日 然后升级了下anaconda3到最新才好了
1. 数据分析之表示
1.1 NumPy库入门
数据的维度
一维数据 列表、集合
二维数据 表格是经典的二维数据 用列表表示
多维数据 二维数据在更多维度上展开 比如时间维度 用列表表示
高维数据 仅使用最基本的二元关系展示复杂关系 key-value形式组织数据 用字典类型或者其他json、xmal、yaml等
NumPy的数组对象:ndarray
NumPy是一个开源的Python科学计算基础库
-一个强大的N维数组对象ndarray
-广播函数功能
-整合c/c++/fortran代码的工具
-线性代数、傅里叶变换、随机数生成等功能
NumPy是SciPy、Pandas等数据处理或科学计算库的基础
使用 import numpy as np
ndarray是一个多维数组,由两部分组成,要求数组元素类型相同,数组下标从0开始
-元数据(数据维度,数据类型等)
-实际数据
np.array() --ndarray别名是array
轴(axis):保存数据的维度
秩(rank):轴的数量
例子:
里面的int32不是Python基础类型,是NumPy定义的类型,更多类型如下:
为啥要这么多数据类型?
-科学计算涉及大量数据,对性能和存储都有较高要求
-对元素类型精细定义,有助于numpy合理使用存储空间并优化性能,有助于程序员对程序规模由合理评估
ndarray数组也可以由非同质对象构成
非同质ndarray元素为对象类型
非同质ndarray数组无法发挥numpy优势,尽量避免使用
ndarray数组的创建和变换
1) 从python列表元组等类型创建数组
x = np.array(list/tuple)
x = np.array(list/tuple,dtype=np.float32) 不指定类型的时候numpy自动关联一个合适的
除了arange函数,其他都是浮点数
ndarray数组的变换:维度变换、元素类型变换
ndarray数组向列表变换
ls = a.tolist()
ndarray数组的操作
索引和切片
ndarray一维数组的索引和列表一样
ndarray数组的运算
数组与标量的运算等于每个元素都和这个标量算一下