ホームページ >バックエンド開発 >Python チュートリアル >Pandas DataFrame を複数の列で昇順と降順に並べ替えるにはどうすればよいですか?

Pandas DataFrame を複数の列で昇順と降順に並べ替えるにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-15 08:49:09187ブラウズ

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

複数の列による Pandas データフレームの並べ替え

複数の列による Pandas データフレームの並べ替えは、データ分析における一般的な操作です。列「a」、「b」、および「c」を持つデータフレームを考えてみましょう。このデータフレームを列 'b' で昇順、列 'c' で降順に並べ替えるには、次の手順に従います。

Pandas バージョン 0.17.0 以降、sort_values が優先され、sort メソッドは非推奨になりました。バージョン 0.20.0 では、並べ替えは完全に削除されました。ただし、引数と結果は変更されません。

df.sort_values(['a', 'b'], ascending=[True, False])

非推奨のsortメソッドを使用した同等の方法は次のとおりです。

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 を更新するには、sort メソッドの結果を df1 に割り当てるか、メソッド呼び出しで inplace=True を使用します:

df1 = df1.sort(['a', 'b'], ascending=[True, False])

または

df1.sort(['a', 'b'], ascending=[True, False], inplace=True)

以上がPandas DataFrame を複数の列で昇順と降順に並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。