python - groupby 内迭代排序

标签 python sorting group-by pandas

我想在 col_0 的每个级别内对该系列进行排序

import pandas as pd
a = 'a b b a a a a b b'.split()
b = 'b a b b b a a b b'.split()
aS = pd.Series(a)
bS = pd.Series(b)
ctab = pd.crosstab(aS,bS).unstack()

In[2]: ctab

Out[2]:
col_0  row_0
a      a        2
       b        1
b      a        3
       b        3
dtype: int64

所以我得到了类似的东西

col_0  row_0
a      b        1
       a        2
b      a        3
       b        3
dtype: int64

我试过了

ctab.groupby(level=0).sort(ascending=False)

但我收到了一条神秘的错误消息。

最佳答案

ctab.groupby(level=0, group_keys=False).apply(pd.Series.sort_index, ascending=False)

或者:

ctab.sort_index(ascending=[True, False])

关于python - groupby 内迭代排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20039491/

相关文章:

arrays - 根据另一个数组的排序顺序对多个数组进行排序

algorithm - 荷兰国旗

使用 AVERAGEIF 为更大的数据集生成 Python 列

python - 如何从 HTML 标题中获取引用的字符串?

python - Django - 获取错误 "Reverse for ' 详细信息',没有找到任何参数。尝试了 1 种模式 :"when using {% url "音乐 :fav"%}

python - Django Createview保存表单并根据外键的id重定向到页面

python - 用python下载pdf文件?

c - 在不使用文件的情况下对 C 中的队列中的数字进行排序

sql - SQL select 中列的顺序重要吗?

sql - 计算 varchar 数组中不同元素的数量 Postgres