博客
关于我
pandas.groupby().rank()用法详解
阅读量:345 次
发布时间:2019-03-04

本文共 1111 字,大约阅读时间需要 3 分钟。

Pandas.DataFrame.groupby()是数据处理中的一个强大工具,用于根据特定条件对数据进行分组和聚合操作。它支持通过映射器、函数或特定列来实现分组,可应用于大规模数据的高效处理。

Parameters

groupby()函数接受多个参数以控制分组方式:

  • by:可以是映射器、函数、标签或标签列表,用于确定分组依据。
    • 若是函数,会对每个索引值调用该函数。
    • 若是dict、Series或数组,会根据其值或标签来分组。
    • 若是标签或标签列表,可直接根据DataFrame的列来分组。
  • axis:决定沿行(0)或列(1)进行分组,默认为0。
  • level:对于多层索引的情况,可指定要分组的层级,默认为None。
  • as_index:布尔值,默认为True,分组结果中保留分组标签。
  • sort:布尔值,默认True,排序分组结果。
  • group_keys:布尔值,默认True,apply时保留分组标签。
  • squeeze:布尔值,默认True,压缩结果维度以保持一致性。
  • observed:布尔值,默认False,只显示分类变量的观测值。
  • dropna:布尔值,默认True,处理缺失值时是否删除分组键。

Returns

groupby对象包含分组信息,可用于后续聚合操作。


Pandas.DataFrame.rank()用于对数据框沿指定轴进行排名。默认方法是按平均值排名,适用于处理重复值时的排名规则。

Parameters

rank()函数接受以下参数:

  • method:{‘average’, ‘min’, ‘max’, ‘first’, ‘dense’},默认‘average’,决定相同值的排名方法。
    • average:取相同值的平均排名。
    • min:取相同值中最低的排名。
    • max:取相同值中最高的排名。
    • first:按原数据顺序依次分配排名。
    • dense:与‘min’类似,但排名连续递增。
  • numeric_only:筛选出仅包含数值列的数据,默认None。
  • na_option:默认‘keep’,处理缺失值时的行为。
  • ascending:布尔值,默认True,决定排序方向。
  • pct:布尔值,默认False,返回百分比排名。

Methods

method参数决定了相同值的排名方式,例如:

  • average:计算相同值的平均排名。
  • min:返回相同值中最低的排名。
  • max:返回相同值中最高的排名。
  • first:按照原数据中出现的顺序依次分配排名。
  • dense:确保排名连续递增,即使中间缺失值也不会跳跃。

References

本文内容基于Pandas官方文档,具体参数和功能细节请参考官方资料以获取最新信息。

转载地址:http://zdge.baihongyu.com/

你可能感兴趣的文章
PyQt 正确使用 emit() 和 pyqtSignal()
查看>>
PyQT-将文件复制到剪贴板
查看>>
PYQT.如何在QTableView中插入小部件
查看>>
PyQt4 代码在 PyQt5 (QHeaderView) 上不起作用
查看>>
PyQt4 到 PyQt5 ->mainFrame() 已弃用,需要修复才能加载网页
查看>>
PyQt4, class:mouseButtons用法
查看>>
PyQt4参考文档
查看>>
PyTorch Lightning:通过分布式训练扩展深度学习工作流
查看>>
PyQt5 - QThread:在线程仍在运行时被销毁
查看>>
PyQt5 - 如何从工作线程发出信号以通过 GUI 线程调用事件
查看>>
PyQt5 Designer 不工作:此应用程序无法启动,因为无法初始化 Qt 平台插件
查看>>
PyQt5 QLCNumber 没有更新
查看>>
PyQt5 TabWidget选项卡BarClicked TypeError:本机Qt信号不可调用
查看>>
PyQt5 从 PyQt4 转换信号代码
查看>>
PyQt5 和 asyncio:从永不完成的收益
查看>>
PyQt5 和 Django:如何使用 HTTP 请求(Multipart-form)上传图像?
查看>>
PyQt5 按钮运行功能和更新 LCD
查看>>
pyqt5 获取Qlabel中的图片并对其进行处理(包括Qimage转换为Mat)
查看>>
pyqt5 设置控件在最上层或者在下层
查看>>
pyqt5 设置网格布局的间距
查看>>