ホームページ > バックエンド開発 > 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 データフレームの並べ替え

複数の列による 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート