python - 按 groupby 对列进行排序

标签 python python-3.x pandas dataframe

大家好,我有以下数据框:

     a                 LC_REF
5 Warranty Tsunami      1C17
6 10.1                  1C17
7 5.2                   1C17
...
5 Warranty Medium       1C17
6 9.1                   1C17
7 6.3                   1C17
...
5 Warranty Medium       2C17
6 4.2                   2C17
7 3.1                   2C17
...
5 Warranty High         2C17 
6 2.1                   2C17
7 0.5                   2C17

我尝试按 LC_REF 对它们进行排序,同时保持索引顺序:

     a                 LC_REF
5 Warranty Medium       2C17
6 4.2                   2C17
7 3.1                   2C17
...
5 Warranty High         2C17
6 2.1                   2C17
7 0.5                   2C17
...
5 Warranty Tsunami      1C17
6 10.1                  1C17
7 5.2                   1C17
...
5 Warranty Medium       1C17 
6 9.1                   1C17
7 6.3                   1C17

但是当我尝试时:

df.sort_values('LC_REF') 

我得到一个非常无序的数据框。有没有办法按 LC_REF 排序,同时仍保持它们的顺序?

最佳答案

看来你需要:

df.sort_values(['LC_REF'], ascending=False)

更通用的解决方案 - 首先reset_index用于原始索引值,第二个reset_index用于原始顺序,然后按2列排序:

df = df.reset_index()
       .reset_index()
       .sort_values(['LC_REF', 'level_0'], ascending=[False, True])
       .set_index('index')
       .drop('level_0', 1)
print (df)
                      a LC_REF
index                         
5       Warranty Medium   2C17
6                   4.2   2C17
7                   3.1   2C17
5         Warranty High   2C17
6                   2.1   2C17
7                   0.5   2C17
5      Warranty Tsunami   1C17
6                  10.1   1C17
7                   5.2   1C17
5       Warranty Medium   1C17
6                   9.1   1C17
7                   6.3   1C17

关于python - 按 groupby 对列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45622039/

相关文章:

python - Docker容器运行失败,错误: python3: can't open file 'flask run --host=0.0.0.0' : [Errno 2] No such file or directory

python - 从 pandas 数据框列表中选择数据框列

python - 如何提高DataFrame的应用函数效率?

python - 在 python : no "data" key 中从 Gmail 下载附件

python - 如何使用 GET 请求发送参数?

python - 如何使用先前字典中的键和值创建字典?

python - MacOS 上的 Tkinter Python 3 缩放问题

python - 自动更新Python类属性的最佳方法

python子进程Popen环境路径?

python-3.x - 如何访问当前正在执行的模块?