2024-04-25 20:33:14 发布
网友
这是唯一的办法吗?很冗长
k = 0 grouped = df.groupby('A') df.ix[grouped.groups[list(grouped.groups)[k]]]
另外,list(grouped.groups)是否会以无意义的顺序返回键(无序字典)
list(grouped.groups)
除了分组排序之外,还有没有更合理的方法来获得分组?我不一定需要得到第k个,尽管最好按照它们在数据帧中出现的顺序得到它们
如果你知道关键,简洁的方法是get_group:
get_group
In [11]: df = pd.DataFrame([[1, 2], [1, 4], [5, 6]], columns=['A', 'B']) In [12]: g = df.groupby('A') In [13]: g.get_group(1) Out[13]: A B 0 1 2 1 1 4
如前所述,组键不一定是按顺序排列的,您可以按以下级别(按原样)访问它们:
In [14]: g.grouper.levels Out[14]: [Int64Index([1, 5], dtype='int64')]
如果只针对一列,则可以使用unique按显示顺序获取它们,即不排序:
unique
In [15]: df.A.unique() Out[15]: array([1, 5])
如果你知道关键,简洁的方法是
get_group
:如前所述,组键不一定是按顺序排列的,您可以按以下级别(按原样)访问它们:
如果只针对一列,则可以使用
unique
按显示顺序获取它们,即不排序:相关问题 更多 >
编程相关推荐