Python数据分析——Pandas 教程(上)

上节,我们讲了 Pandas 基本的数据加载与检索,这节我们讲讲如何进行数据比较。

Pandas系列对象

在 Pandas 中我们获取指定列的数据有多种方式:

  • reviews.iloc[:, 1]:获取第二列的数据
  • reviews.loc[:, "score_phrase"]:获取指定标签列的数据
  • reviews["score_phrase"]:只需要指定列名

为了更好地理解它是如何工作的,我们先来创建一个序列(Series):

这个序列可以包含任何类型的数据,或者混合类型。下面我们创建一个 string 类型的数据:

在Pandas中创建DataFrame

我们可以通过多样的 Series 来创建 DataFrame。这里,我们通过上面两个序列创建:

我们通过多重列表也可以达到同样的效果:

也可以设置标签:

这样我们就可以通过标签来检索数据了:

我们跳过 column 关键字,直接指定列名:

Pandas DataFrame方法¶

我们前面提到,DataFrame中每一列都是一个 Series 对象:

使用 head 调用前面几条记录:

Pandas Series 和 DataFrames 都有其他的方法使计算简单化。例如,我们使用 pandas.Series.mean 方法计算均值:

修改 axis 关键字参数求每一行每一列的 mean 值。axis 默认为 0,并像上面的例子那样,计算每一列的方差 mean。我们也可以设置为 1 来计算每一行的方差。注意,那样的话将只计算每行数值的方差:

这里有一些 Series 和 DataFrames 的方法:

  • pandas.DataFrame.corr:找出 DataFrame 所有列之间的相关系数
  • pandas.DataFrame.count:统计 DataFrame 每一列非空值的个数
  • pandas.DataFrame.max:找出每一列的最大值
  • pandas.DataFrame.min:找出每一列的最小值
  • pandas.DataFrame.median:找出每一列的中位数
  • pandas.DataFrame.std:找出每一列的标准误差

我们通过 corr 方法来看一下每一列 score 的相关系数。例如,这能告诉我们是最近发布游戏评价更高(release_year),还是年度发布游戏得分更高(release_month)。

可以看到,我们的数值列与 score 的相关系数,意味着发布时间与评分并非线性相关的。

Pandas中的DataFrame Math

我们可以在 Series 和 DataFrame 执行数学操作。例如,将每一个 score 值除以 2,将原来 0~10 的缩小成 0~5:

Pandas中的Boolean Indexing

如前所述,reviews 数据集中 score 列的均值为 7。我们想要获取平均分以上的数据该怎么办呢?可以先做比较,生成布尔值标志比较的结果。例如查看 score 是否大于 7:

一旦有了比较值,就能选择 DataFrame 中比较值为 True 的行:

我们也可使用多个条件来过滤,比如我们想找出在 Xbox One 平台上评分大于 7 分的数据,可以这样做:

  • 检查 score 是否大于 7
  • 检查 platform 平台是否为 Xbox One

Pandas Plotting

现在,我们知道怎么过滤数据了。我们还可以创建 plots 来观察 Xbox One 与 PlayStation 4 的分布对比情况,这将有助于我们了解哪款终端更适合游戏。我们使用柱状图(histogram)来展示不同的分数范围,能告诉我们哪款终端有更高的评价。

pandas.DataFrame.plot 方法默认绘制线性图形,我们得通过 kind="hist"关键之来绘制柱状图。

通过以下几个步骤:

  • 调用 %matplotlib inline 在 Jupyter Notebook 中建立图形
  • 过滤数据,只保留 Xbox One 数据
  • 绘制 score 列

类似的,我们可以绘制针对 PS4 的图形:

可以看到 PlayStation 4 比 Xbox One 有更高的评分。

查看 Xbox One 中评分大于 7 分的分布情况:

(完)

#python #pandas

pandas dataframe column_Python数据分析——Pandas 教程(下)相关推荐

  1. python数据分析包pandas论文_python数据分析pandas包入门学习(一)pandas数据结构介绍...

    本文参考<利用python进行数据分析>的第五章 pandas入门python 1 pandas数据结构介绍 pandas有两种主要的数据结构:series和DataFrame Serie ...

  2. python pandas.DataFrame.values和pandas.DataFrame.columns的用法

    引用 pandas.DataFrame.values用于将pandas的DataFrame转换成numpy数组. pandas.DataFrame.columns用于输出pandas的DataFram ...

  3. 使用python pandas dataframe学习数据分析

    ⚠️ Note - This post is a part of Learning data analysis with python series. If you haven't read the ...

  4. pandas数据分析给力教程【完整版】(一)

    Pandas的数据结构 numpy 给力教程 下一篇:pandas数据分析给力教程[完整版](二) 导入pandas from pandas import Series 1.Series Series ...

  5. 在Python中使用Pandas.DataFrame对Excel操作笔记一 - 从Excel里面获取说需要的信息

    近期和朋友小A聊天的时候,总是听小A说工作越来越烦,有大量的Excel表格需要分析整理 ~~~,需要总结各种数据,做统计汇总之类,@#¥%%~~.像我等懒人,是不能容忍做大量重复性工作的.以懒人的观点 ...

  6. 机器学习之Pandas:Pandas介绍、基本数据操作、DataFrame运算、Pandas画图、文件读取与处、缺失值处理、数据离散化、合并、交叉表和透视表、分组与聚合、案例(超长篇,建议收藏慢慢看)

    文章目录 Pandas 学习目标 1Pandas介绍 学习目标 1 Pandas介绍 2 为什么使用Pandas 3 案例: 问题:如何让数据更有意义的显示?处理刚才的股票数据 给股票涨跌幅数据增加行 ...

  7. python pandas DataFrame 排序

    python pandas DataFrame 排序 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期': ['2021-7 ...

  8. python pandas DataFrame 数据替换

    python pandas DataFrame 替换 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期': ['2021-7 ...

  9. python pandas DataFrame 转置

    python pandas DataFrame 转置 import pandas as pd df1 = pd.DataFrame({'日期': ['2021-7-2', '2021-8-2', '2 ...

最新文章

  1. 数字图像处理:(3)一阶微分算子在图像处理中的应用
  2. Block Formatting Context
  3. Apache配置文件的帮助查询
  4. 前端之JavaScript 补充
  5. mac笔记本怎么外接显示屏_苹果MAC笔记本怎么外接显示器?
  6. leetcode 223. Rectangle Area | 223. 矩形面积(Java)
  7. maven安装以及eclipse配置maven
  8. ZOJ 2165 Red and Black
  9. 计算机硬盘瓶颈,为何你的电脑卡的飞起,看看是不是遇到存储瓶颈
  10. GitHub student pack
  11. j2ee和mysql怎么连接_Eclipse下配置j2ee开发环境及与MySQL数据库的连接
  12. 跨过Nginx上基于uWSGI部署Django项目的坑
  13. telnet直接登录POP3
  14. mysql常用的开发软件下载_强烈推荐!14款经典的MySQL客户端软件
  15. 大数据早报:极课大数据获得1亿元融资 美科学家利用机器学习挖出人们背后的自杀行为(11.1)
  16. 深度学习模型训练神器之wandb
  17. 前端基础知识--Document的常用属性和常用函数
  18. 判定重大风险有哪几种_重大危险源判定
  19. 机器学习笔记 - IOU、mAP、ROC、AUC、准确率、召回率、F分数
  20. allegro库函数 c语言,[转载]Allegro之Dev-Cpp版上手指南

热门文章

  1. c++ 数据类型转换笔记
  2. OpenglES2.0 Android:画矩形
  3. android-apt plugin is incompatible with the Android Gradle plugin. Please use 'annotationProcessor'
  4. “_snprintf”: 不是“std”的成员
  5. Invalid character escape '\o'.
  6. FFmpeg4.1 视频解码,保存原始YUV数据
  7. 上交大实时姿态估计AlphaPose
  8. python reshape transpose
  9. parse() got an unexpected keyword argument 'transport_encoding'
  10. matplotlib plot绘图简介