Numpy和Pandas
Numpy科学计算
Numpy 是一个专门用于矩阵化运算、科学计算的开源Python
Pandas数据分析
pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数
pandas兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库灵活的数据处理功能
pandas含有使数据分析工作变得更快更简单的高级数据结构和操 作工具,它是基于Numpy构建的,有很多操作是类似的
安装jupyter notebook
可以查看当前安装了哪些包
进行安装
直接输入命令台输入 jupyter notebook即可跳转到web界面
创建Python项目
Numpy语法
基本数据结构 ndarray,是一个二维矩阵
创建和基本使用
切片索引
布尔索引
对位运算
指 ndarray 进行加减乘除运算时,使对应位置的数值进行加减乘除运算
矩阵的乘除
其他方法
Pandas语法
Pandas-Series
Series是一种类似于一维数组的对象,由数据(各种NumPy数据 类型)以及与之相关的数据标签(即索引)组成
可以通过字典构建Series对象,Series对象的索引也是可以修改的
Pandas-Dataframe
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)
DataFrame既有行索引也有列索引,可以看做由Series组成的字典
读取文件
Pandas数据清洗
1.加载数据
2.处理缺失数据
2.1 添加默认值
2.2 删除不完整的行
2.3 改变不完整的列
2.4 删除不完整的列
我们可以上面的操作应用到列上。我们仅仅需要在代码上使用 axis=1 参数。这个意思就是操作列而不是行。
(我们已经在行的例子中使用了 axis=0,因为如果我们不传参数 axis,默认是axis=0)
删除一整列为NA的列::data.dropna(axis=1, how='all')
删除任何包含空值的列:data.dropna(axis=1,how='any')
- 必要的变换
人工录入的数据可能都需要进行一些必要的变换,例如:
- 错别字
- 英文单词时大小写的不统一
- 输入了额外的空格
更换字符串
data.loc[4,'color']='Color'
转大写
data.movie_title=data.movie_title.str.upper()
去掉首尾的空格等等
data.movie_title=data.movie_title.str.strip()
重命名列名
data = data.rename(columns={'title_year':'年份',
'movie_title':'电影年份'})
- 保存文件
data.to_csv('data/cleanfile.csv',index=None,header=None,encoding='utf-8')
表示不保存索引,不保存标题,编码格式utf8