如何从Pandas未聚合groupby对象恢复源数据列与分组列信息?
从Pandas GroupBy对象中提取分组列与底层DataFrame列信息
获取分组依据的列
- 直接调用
groupby_object.grouper.names,会返回分组所用的列名列表(支持单/多列分组场景)。 - 也可使用
groupby_object.keys,但前者返回的列名格式更直观。
获取底层DataFrame的全部列
- 高效无数据加载方式:访问
groupby_object.obj.columns,这个属性直接关联原始DataFrame的列对象,无需生成临时数据。 - 备选方案:如果能调用
head(),可以用groupby_object.head(0).columns——取0行数据不会占用额外内存,直接拿到列名集合。
这些属性都是GroupBy对象内部存储的元数据,虽然未在官方文档的核心操作区突出标注,但属于对象的内置关联属性,可直接用于恢复所需信息。
内容的提问来源于stack exchange,提问作者LSR
相关产品推荐
相关产品推荐

