首页 > 后端开发 > Python教程 > 如何按多列升序和降序对 Pandas DataFrame 进行排序?

如何按多列升序和降序对 Pandas DataFrame 进行排序?

Linda Hamilton
发布: 2024-12-15 08:49:09
原创
186 人浏览过

How to Sort a Pandas DataFrame by Multiple Columns in Ascending and Descending Order?

按多列对 Pandas Dataframe 进行排序

按多列对 Pandas Dataframe 进行排序是数据分析中的常见操作。考虑一个包含“a”、“b”和“c”列的数据框。要按“b”列升序和“c”列降序对此数据框进行排序,请按照以下步骤操作:

从 Pandas 版本 0.17.0 开始,排序方法已被弃用,转而使用 sort_values。从版本 0.20.0 开始,排序已被完全删除。但是,参数和结果保持不变:

df.sort_values(['a', 'b'], ascending=[True, False])
登录后复制

使用已弃用的排序方法的等效方法是:

df.sort(['a', 'b'], ascending=[True, False])
登录后复制

例如,考虑一个数据帧 df1 在列中具有随机整数值'a' 和 'b':

import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.random.randint(1, 5, (10, 2)), columns=['a', 'b'])
登录后复制

按 'a' 对此数据框进行排序升序和降序的“b”给出:

df1.sort(['a', 'b'], ascending=[True, False])
登录后复制
   a  b
2  1  4
7  1  3
1  1  2
3  1  2
4  3  2
6  4  4
0  4  3
9  4  3
5  4  1
8  4  1
登录后复制

请记住,默认情况下排序方法不是就地的。要使用排序后的值更新 df1,请将排序方法的结果分配给 df1 或在方法调用中使用 inplace=True:

df1 = df1.sort(['a', 'b'], ascending=[True, False])
登录后复制

df1.sort(['a', 'b'], ascending=[True, False], inplace=True)
登录后复制

以上是如何按多列升序和降序对 Pandas DataFrame 进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板