【发布时间】:2016-03-17 18:56:34
【问题描述】:
我是 Pandas 的新手,我在这里阅读了很多文档、帖子和答案,但我无法找到实现目标的好策略,抱歉,如果它已经回答,我找不到它。这是我所拥有的:
df = {'key': ['A', 'B', 'A', 'B'], 'value': [2,2,1,1]}
df = pd.DataFrame(df)
df
key value
0 A 2
1 B 2
2 A 1
3 B 1
我知道 groupby() 会返回一个 groupby 对象,而且我知道我可以使用 groupby 对象做很多聚合的东西(计数、大小、平均值等)。但是,我不想聚合,我只想根据“键”列对我的数据框进行分组,并将其存储为如下数据框:
key value
0 A 2
1 A 1
2 B 2
3 B 1
完成这一步后,我最终想要的是按值对每个组进行排序,如下所示:
key value
0 A 1
1 A 2
2 B 1
3 B 2
非常感谢任何答案、评论或提示。谢谢!
【问题讨论】:
-
a
groupby对象只是描述如何执行分组的元数据,它不是 df,当您对groupby对象执行某种聚合时,它会返回系列或 df尝试存储它是没有意义的 -
好的,我在问题中提到 groupby 是一个对象,那么有什么提示或解决方案吗?因为下面建议的那种不是我要找的。我想保持表中行的出现顺序,而 sort 严格根据字符串顺序对它们进行排序。