Pandas groupby方法中的group_keys属性使用及说明

 更新时间:2026年01月15日 08:37:59   作者:sphw  
groupby方法在pandas 1.5.3中,group_keys=True时保留groupby字段为第一级索引,同时原索引作为第二级索引,当设置group_keys=False时,groupby的字段不在返回结果中,可以直接作为原DataFrame的一列

Pandas groupby方法的group_keys属性

pandas版本1.5.3中groupby方法

当设置group_keys=True时,会以groupby的字段为第一级索引

如下述代码中time_id作为第一级索引,同时保留了原dataframe(df)中的索引作为第二级索引。

>>> df.groupby(['time_id'], group_keys=True)['wap'].apply(log_return)
time_id         
0        0               NaN
         1          0.000000
         2          0.000000
         3          0.000000
         4          0.000000
                      ...   
26454    5237975   -0.001228
         5237976    0.000491
         5237977   -0.005031
         5237978    0.003219
         5237979    0.003264
Name: wap, Length: 5237980, dtype: float64

group_keys的意思是

是否保留groupby的feature(如time_id)作为keys放入结果中,True是放,False是不放。

这也印证了帮助里的说明:

group_keys : bool, optional
When calling apply and the by argument produces a like-indexed
(i.e. :ref:a transform <groupby.transform>) result, add group keys to
index to identify pieces
. By default group keys are not included
when the result’s index (and column) labels match the inputs, and
are included otherwise. This argument has no effect if the result produced
is not like-indexed with respect to the input.

因此,当设置group_keys=False时,group keys(time_id)就不在返回结果中了,如下所示。

在设置为False是可以直接将返回结果,作为原dataframe(df)的一列,很方便。

>>> df.groupby(['time_id'], group_keys=False)['wap'].apply(log_return)
0               NaN
1          0.000000
2          0.000000
3          0.000000
4          0.000000
             ...   
5237975   -0.001228
5237976    0.000491
5237977   -0.005031
5237978    0.003219
5237979    0.003264
Name: wap, Length: 5237980, dtype: float64

PS:对英文帮助的深入理解,需要结合实际应用。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 表格梳理解析python内置时间模块看完就懂

    表格梳理解析python内置时间模块看完就懂

    这篇文章主要介绍了python内置的时间模块,本文用表格方式清晰的对Python内置时间模块进行语法及用法的梳理解析,有需要的朋友建议收藏参考
    2021-10-10
  • 如何使用python的xml库实现自闭合标签

    如何使用python的xml库实现自闭合标签

    文章介绍了作者编写一个URDF格式化插件的初衷,目的是解决sw2urdf导出的URDF文件格式混乱的问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-01-01
  • Python常遇到的错误和异常

    Python常遇到的错误和异常

    这篇文章主要介绍了Python常遇到的错误和异常,在日常的学习Python过程中,由于本身的编程水平受限,时不时的给我抛出一个异常让我真的很难受;在学习的过程中发现Python中的错误分为语法错误和异常两种。下面来看看下面文章错误异常的实例,需要的朋友可以参考一下
    2021-11-11
  • Python高效解析和操作XML/HTML的实用指南

    Python高效解析和操作XML/HTML的实用指南

    在 Python 生态系统中,lxml 是一个功能强大且广泛使用的库,用于高效地解析和操作 XML 和 HTML 文档,这篇文章从 lxml 的基础安装开始,逐步深入讲解如何解析文档、提取数据、修改文档结构,并涵盖了处理大型文档和使用命名空间等进阶操作,需要的朋友可以参考下
    2024-10-10
  • 利用python数据分析处理进行炒股实战行情

    利用python数据分析处理进行炒股实战行情

    这篇文章主要介绍了利用python数据分析进行炒股实战行情,本文主要介绍三部分:数据采集,数据预处理,利用SVM算法进行建模,本文仅供参考借鉴
    2021-08-08
  • Python读取txt内容写入xls格式excel中的方法

    Python读取txt内容写入xls格式excel中的方法

    今天小编就为大家分享一篇Python读取txt内容写入xls格式excel中的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python中如何使用pypandoc进行格式转换操作

    Python中如何使用pypandoc进行格式转换操作

    这篇文章主要介绍了Python中如何使用pypandoc进行格式转换操作,pypandoc是一个强大的文档转换工具,它可以将各种标记语言转换为不同的格式,支持多种输入和输出格式,并允许用户添加自定义样式、模板和过滤器
    2021-06-06
  • 全面了解python中的类,对象,方法,属性

    全面了解python中的类,对象,方法,属性

    下面小编就为大家带来一篇全面了解python中的类,对象,方法,属性。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 基于Python打造一个PDF合并器(支持批量拖拽合并)

    基于Python打造一个PDF合并器(支持批量拖拽合并)

    不知道你们有没有遇到过这种情况,多个 PDF想合成一份复习资料,或者下载了很多发票凭证和行程单,想合并成一份报销文件,本文就来使用Python为大家搭建一个PDF合并器吧
    2025-07-07
  • Python数据处理之Excel报表自动化生成与分析

    Python数据处理之Excel报表自动化生成与分析

    这篇文章主要为大家详细介绍了如何使用Python实现一个完整的Excel报表自动化系统,涵盖从数据清洗、分析到可视化报表生成的全流程,希望对大家有所帮助
    2025-07-07

最新评论