机器学习——数据科学包(二)

文章目录

机器学习——数据科学包(二)

一、pandas课程介绍

(一)什么是pandas?

 pandas是Python里分析结构化数据的工具集
 基础是numpy:高性能的矩阵运算
 图形库matplotlib:提供数据可视化

(二)pandas能做什么?

   结构化数据分析例如:数据挖掘

二、ipython开发环境的搭建

在这里插入图片描述

(一)安装jupyter

Jupyter Notebooks 是一款开源的网络应用,我们可以将其用于创建和共享代码与文档。其提供了一个环境,你无需离开这个环境,就可以在其中编写你的代码、运行代码、查看输出、可视化数据并查看结果。因此,这是一款可执行端到端的数据科学工作流程的便捷工具,其中包括数据清理、统计建模、构建和训练机器学习模型、可视化数据等等,因为它们比单纯的 IDE 平台更具交互性,所以它们被广泛用于以更具教学性的方式展示代码。(文件有点大,多试几次)
在这里插入图片描述

(二)安装numpy

 (第一节安装过)

(三)安装matplotlib

在这里插入图片描述

(四)验证ipython是否安装成功

在这里插入图片描述

三、介绍ipython的技巧

(一)对于字典类型的数据ipython显示的比标准的python解释器更好

在这里插入图片描述
标准的python解释器
在这里插入图片描述

(二)ipython会提供自动补全的功能

在这里插入图片描述

(三)输出文档

在这里插入图片描述

在这里插入图片描述

(四)输出文件路径

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
timeit查看时间效率
quickref查看Python标准化的文版

(五)ipython notebook

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

   os.listdir?显示Python的文档

在这里插入图片描述

(六)定义一个函数

在这里插入图片描述

(七)显示类名图片

在这里插入图片描述

(八)jupyter 的快捷键

在这里插入图片描述
在这里插入图片描述

四、numpy简介

(一)创建数组(先进入ipython环境)

一维数组
在这里插入图片描述
二维数组
在这里插入图片描述
np.arrange()返回数组
range()返回列表
在这里插入图片描述
reshape可以返回指定的数组,但是其返回的是引用的,不是拷贝的
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
建立全是1的三维数组
在这里插入图片描述
在这里插入图片描述

(二)数组的索引

一维数组的索引方法

在这里插入图片描述

二维数组的索引方法
在这里插入图片描述
在这里插入图片描述
选择data里所有大于10的数构成一个新数组
在这里插入图片描述
在这里插入图片描述
常用写法:
xXzQxNTExMjYy,size_16,color_FFFFFF,t_70)
创建所有的偶数构成一个数组
在这里插入图片描述
矩阵加法
在这里插入图片描述
矩阵减法和乘法(逐个元素相乘)
在这里插入图片描述
矩阵内积
在这里插入图片描述
矩阵除法
在这里插入图片描述
矩阵开平方
在这里插入图片描述
矩阵转置
在这里插入图片描述
返回指定的数组
在这里插入图片描述

五、pandas快速入门

(一)ipython环境下的快速入门

(1)创建关键数据结构序列Series

在这里插入图片描述

(2)创建日期序列

在这里插入图片描述
在这里插入图片描述

(3)查看数据

在这里插入图片描述
在这里插入图片描述
查看列标签
在这里插入图片描述
查看列标签
在这里插入图片描述
查看值
在这里插入图片描述
查看基本统计数据
在这里插入图片描述
矩阵转置
在这里插入图片描述
通过列标签排序(升序)
在这里插入图片描述
降序
在这里插入图片描述
通过行标签排序
在这里插入图片描述
通过列排序
在这里插入图片描述
在这里插入图片描述
选择2到4行排列
在这里插入图片描述
通过行标签或列标签选择
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
访问表格特定的值
在这里插入图片描述
选择第一行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用布尔索引
在这里插入图片描述
在这里插入图片描述
用isin过滤数据
在这里插入图片描述

(4)修改数据

在这里插入图片描述
修改一列或一行
在这里插入图片描述
注意:列表长度匹配
在这里插入图片描述
在这里插入图片描述

(二)ipython notebook环境下的快速入门

按两次ctrl+c结束

(1)创建数据集

在这里插入图片描述

(2)制造数据的缺失项

添加一列
在这里插入图片描述

(3)处理空数据

部分赋值,丢弃,用默认值替换吗,判断数据集是否有空数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
求平均值
在这里插入图片描述
求累加值
在这里插入图片描述

(4)用行标签作为关键字的索引,一个表减去一个行向量。

在这里插入图片描述
在这里插入图片描述

(5)apply

在这里插入图片描述
在这里插入图片描述

(6)value_counts()

在这里插入图片描述
在这里插入图片描述

(7)矩阵合并

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(八)分类统计(分组后按照一定规则进行计算)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(九)数据整形
(1)创建列表dateframe

在这里插入图片描述
在这里插入图片描述

(2)将行索引转换为列索引

在这里插入图片描述
将列索引转化为行索引
在这里插入图片描述

(十)数据透视

在这里插入图片描述
在这里插入图片描述

(1)构建列表以A和B 列为行索引,以C列为列索引

在这里插入图片描述

(2)当数据透视表有多个值时,求平均值,当透视表无值时,为NaN

在这里插入图片描述
在这里插入图片描述

(十一)时间序列
(1)创建600个以秒为单位的时间序列

在这里插入图片描述
创建0到500 的随机数,
在这里插入图片描述
对数据进行求平均值重新采样
在这里插入图片描述

(2)以季度为单位

在这里插入图片描述
转换成时间日期的格式输出
在这里插入图片描述
时间运算
在这里插入图片描述

(十二)数据可视化
(1)使用category数据;排序时以grade的值raw_grade排序。

在这里插入图片描述
在这里插入图片描述

(3)以raw_grade升序排序

在这里插入图片描述

(4)创建数据表

在这里插入图片描述

(5)对其求和

在这里插入图片描述

(6)画出数据

在这里插入图片描述

(十三)数据载入与保存
(1)创建数据

在这里插入图片描述

(2)写入磁盘

在这里插入图片描述

(3)读出数据

在这里插入图片描述

六、数据分析实例:分析MovieLens电影数据

(一) 下载数据包

在这里插入图片描述

(二)打印前5条记录

在这里插入图片描述

(三)导入评分数据和电影数据

在这里插入图片描述显示评分数据表
在这里插入图片描述
显示电影数据表
在这里插入图片描述

(四)合并两个表两个表的外键(movie_id)存在一一对应关系

在这里插入图片描述

(五)输出所有用户id==1的用户

在这里插入图片描述

(六)数据透视:关心rating,针对某个电影所有女生和男生的评分求平均值

在这里插入图片描述

(七)看哪些电影男生女生的平均得分差异最大,按diff排序

在这里插入图片描述
在这里插入图片描述

(八)导出评分最多的电影,降序排列,选择前10个

在这里插入图片描述
在这里插入图片描述

(九)导出电影的平均评分最高的电影,排序,找出前20大

在这里插入图片描述
在这里插入图片描述

(十)找出评分多,且平均分高的电影

查看前十大热门电影的评分
在这里插入图片描述
在这里插入图片描述
前二十大高峰电影的评分人数
在这里插入图片描述
在这里插入图片描述
找出热度足够高的电影
在这里插入图片描述

(十一)导出热门电影的评分数据

在这里插入图片描述

七、pandas核心数据结构

(一)Series

 Series是一维的带标签的数组,数组里面可以放任意的数据,包括整数,浮点数,字符串,object等
(1)创建
创建一个series,给指定索引

在这里插入图片描述

创建时,不给指定索引

在这里插入图片描述

用字典创建索引值

在这里插入图片描述

标量创建series:每个元素的值都相同

在这里插入图片描述

(2)特性
a、类ndarray对象(索引)

在这里插入图片描述
在这里插入图片描述

b、类dict对象

在这里插入图片描述
用字典增加一个元素
在这里插入图片描述
在这里插入图片描述
f不存在时返回0。

c、标签对齐操作

在这里插入图片描述
在这里插入图片描述

(二)DataFrame

DataFrame是一个二维带行标签和列标签的数组。可以把DataFrame想成一个 Excel表格或一个SQL数据库的表格,还可以看成是一个Series对象字典。它是Pandas里最常用的数据结构

(1)创建

在这里插入图片描述
在这里插入图片描述
指定行索引
在这里插入图片描述
指定列索引
在这里插入图片描述
由列表构成的字典数据创建:

 注:Series构成的字典数据个数可以是相同也可以是不同的,list构成的字典数据个数必须是相同的

在这里插入图片描述
由列表创建:
在这里插入图片描述
列表里的元素是一个字典,此时可以指定行标签
在这里插入图片描述
指定列标签
在这里插入图片描述
字典包含元组和字典
在这里插入图片描述
在这里插入图片描述
注:Series的列索引只能是一列

(2)特性

在这里插入图片描述

a、列选择、增加、删除

在这里插入图片描述
在这里插入图片描述
选择列
在这里插入图片描述
选择行
在这里插入图片描述
相加
在这里插入图片描述
删除
在这里插入图片描述
增加列

在这里插入图片描述
添加列
在这里插入图片描述
pop方法:删除列
在这里插入图片描述
在这里插入图片描述
insert方法:插入列
在这里插入图片描述
在这里插入图片描述

b、assign做复制,原列表未发生改变。

在这里插入图片描述
在这里插入图片描述
引入函数:在assign 必须用lambda计算
在这里插入图片描述
链式的方法调用两次assign创建两列
在这里插入图片描述

c、索引和选择

在这里插入图片描述
在这里插入图片描述
选择列
在这里插入图片描述
选择行
在这里插入图片描述
选择多行
在这里插入图片描述
在这里插入图片描述
选出a列大于等于4的行
在这里插入图片描述
标签对齐
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进行自动标签对齐:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
dataFrame内部用的数据结构是numpy里的ndarray
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(三)Panel

(1)概念

1、 Panel 是三维带标签的数组。实际上,Pandas的名称由来就是由Panel演进的,即pan(el)-da(a)Ss。Panel 比较少用,但依然是最重要的基础数据结构之一。
2、items: 坐标轴0,索引对应的元素是一个DataFrame
3、 major_ axis坐标轴1, DataFrame里的行标签
4、 minor_axis: 坐标轴2. DataFrame里的列标签

(2)创建

在这里插入图片描述
通过items访问DataFrame值
在这里插入图片描述
在这里插入图片描述
通过major_xs访问DataFrame的值
在这里插入图片描述
在这里插入图片描述
特点:行标签是两维标签

八、pandas基础运算

(一)重新索引

在这里插入图片描述
新增索引
在这里插入图片描述
填充数值
在这里插入图片描述
用前面的数据填充空值NaN
在这里插入图片描述
在这里插入图片描述
新增索引
在这里插入图片描述
空值设为0
在这里插入图片描述
拷贝值
在这里插入图片描述
在这里插入图片描述
新增列
在这里插入图片描述
method向前填充只对行有效,对列没有效
在这里插入图片描述
在这里插入图片描述
biff向后填充
在这里插入图片描述
丢弃数据
在这里插入图片描述
丢弃行
在这里插入图片描述
丢弃列(拷贝一份数据)
在这里插入图片描述
在这里插入图片描述
按列进行运算
在这里插入图片描述
在这里插入图片描述
按行运算
在这里插入图片描述
返回最大值和最小值(按列)
在这里插入图片描述
返回最大值和最小值(按行)
在这里插入图片描述
表格里的每个小数点只显示出后三位
在这里插入图片描述
在这里插入图片描述
排序
在这里插入图片描述
在这里插入图片描述
降序排序
在这里插入图片描述
排名:先出现的排名高
在这里插入图片描述
在这里插入图片描述
数据的唯一性
在这里插入图片描述
在这里插入图片描述
返回不重复的元素列表
在这里插入图片描述
判断元素是否在列表内
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值