这是我的数据框
import pandas as pd
df = pd.DataFrame({'A': ['one', 'one', 'two', 'two', 'one'] ,
'B': ['Ar', 'Br', 'Cr', 'Ar','Ar'] ,
'C': ['12/15/2011', '11/11/2001', '08/30/2015', '07/3/1999','03/03/2000' ],
'D':[1,7,3,4,5]})
我的目标是按列A
分组,并按列B
对分组结果进行排序。
下面是我的想法:
sort_group = df.sort_values('B').groupby('A')
我希望分组操作不会扭曲顺序,但它不起作用,而且返回的不是 Dataframe ,而是groupby
对象
<pandas.core.groupby.DataFrameGroupBy object at 0x0000000008B190B8>
有什么建议吗?
2条答案
按热度按时间4ktjp1zp1#
不能将
sort_values
直接应用于groupby
对象,但需要一个apply
:提供所需的输出:
t3irkdon2#
我通常只使用
sort_values
来 * 间接地 * 根据 * 列A* 对值进行分组,并在组内按 * 列B* 进行排序。它会给予你:
这将返回一个正常的DataFrame,您可以在其中继续分析。