繁体   English   中英

Pandas groupby 分组返回值而不是索引

[英]Pandas groupby groups to return values rather than indicies

我有一个看起来像这样的数据框:

在此处输入图片说明

我创建了一个 groupby 对象,以按第 2 列中的项目对第 1 列中的项目进行分组:

dx = df.groupby(df[2])[1]

在调用 dx.groups 时,我得到一个字典,其中第 2 列的值作为键,第 1 列的索引作为值。 但是,我想获得第 1 列的值而不是索引。 我能够做到这一点的一种方法是编写以下字典理解:

{group:np.array(dx.get_group(group)) for group in dx.groups}

有没有办法用 Pandas 方法来做到这一点,而不必编写字典理解?

非常感谢!

您可以使用

dx.apply(list)

或者

dx.apply(np.array)

获取pandas.Series值。 所以结果将是:

2
119.0     [66.0, 405.0]
157.0    [253.0, 383.0]
260.0           [830.0]

要重置索引名称,您可以

s = dx.apply(np.array)
s.index.name = None

产生

119.0     [66.0, 405.0]
157.0    [253.0, 383.0]
260.0           [830.0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM