ホームページ >バックエンド開発 >Python チュートリアル >公開: 特定の条件で並べ替えるための pandas テクニックの詳細な説明
パンダの並べ替えスキルが明らかに: 特定の条件に従って並べ替えるには、特定のコード例が必要です
データの処理と分析のプロセスにおいて、並べ替えは非常に一般的なタスクです。 。 Pandas ライブラリは、Python でのデータ分析のための強力なツールの 1 つであり、特定の条件に従ってデータを並べ替えることができる豊富な並べ替え機能を提供します。この記事では、一般的に使用される並べ替え手法をいくつか紹介し、具体的なコード例を示します。
1. 単一列で並べ替える
まず、単一列で並べ替える方法を見てみましょう。 Pandas の sort_values()
関数は、DataFrame または Series オブジェクトを並べ替えることができます。以下はデータセットの例です。「スコア」列によって降順に並べ替えます:
import pandas as pd data = {'name': ['Alice', 'Bob', 'Tom', 'Jerry'], 'score': [90, 80, 95, 85], 'age': [25, 30, 27, 23]} df = pd.DataFrame(data) df_sorted = df.sort_values(by='score', ascending=False) print(df_sorted)
出力結果:
name score age 2 Tom 95 27 0 Alice 90 25 3 Jerry 85 23 1 Bob 80 30
上記のコードでは、sort_values() を使用します。
Function を実行し、パラメータ by
を並べ替える列名に設定します。また、ascending=False
は降順ソートを意味しますので、昇順にソートしたい場合は ascending=True
に設定します。
2. 複数の列による並べ替え
単一の列による並べ替えに加えて、複数の列による並べ替えも可能です。複数の並べ替え条件がある場合は、sort_values()
関数の by
パラメーターを使用して、複数の列名を含むリストを渡すことができます。次の例では、「score」列に従って降順にソートされます。「score」列が同じ場合は、「age」列に従って昇順にソートされます:
import pandas as pd data = {'name': ['Alice', 'Bob', 'Tom', 'Jerry'], 'score': [90, 80, 95, 85], 'age': [25, 30, 27, 23]} df = pd.DataFrame(data) df_sorted = df.sort_values(by=['score', 'age'], ascending=[False, True]) print(df_sorted)
出力結果:
name score age 2 Tom 95 27 0 Alice 90 25 3 Jerry 85 23 1 Bob 80 30
上記のコードでは、2 つの並べ替え条件に対応する 2 つの要素を含むリストを by
パラメーターとして渡しました。同時に、ブール値のリストを渡すことで、各並べ替え条件の並べ替え順序を設定できます。
3. インデックスによる並べ替え
列による並べ替えに加えて、インデックスによる並べ替えも可能です。 Pandas の sort_index()
関数はインデックス ソートを実装できます。以下に例を示します:
import pandas as pd data = {'name': ['Alice', 'Bob', 'Tom', 'Jerry'], 'score': [90, 80, 95, 85], 'age': [25, 30, 27, 23]} df = pd.DataFrame(data) df_sorted = df.sort_index(ascending=False) print(df_sorted)
出力結果:
name score age 3 Jerry 85 23 2 Tom 95 27 1 Bob 80 30 0 Alice 90 25
上記のコードでは、sort_index()
関数を呼び出してインデックスを並べ替えます。パラメータ ascending=False
は降順ソートを示します。昇順でソートしたい場合は、ascending=True
に設定します。
4. カスタム並べ替え関数
カスタム関数に従って並べ替える必要がある場合があります。 Pandas の sort_values()
関数は、並べ替え用の関数に渡すことができるパラメーター key
を提供します。以下は例です:
import pandas as pd data = {'name': ['Alice', 'Bob', 'Tom', 'Jerry'], 'score': [90, 80, 95, 85], 'age': [25, 30, 27, 23]} df = pd.DataFrame(data) # 自定义排序函数,按照年龄和成绩之和进行排序 def custom_sort(row): return row['age'] + row['score'] df_sorted = df.sort_values(by='', key=custom_sort, ascending=False) print(df_sorted)
出力結果:
name score age 2 Tom 95 27 3 Jerry 85 23 0 Alice 90 25 1 Bob 80 30
上記のコードでは、並べ替え関数 custom_sort()
をカスタマイズし、sort_values に渡しました。 ()
関数の key
パラメーター内。この関数は、入力行の「年齢」列と「スコア」列の合計に基づいてサイズを比較します。
概要:
この記事では、Pandas の並べ替えテクニックのいくつかの側面 (単一列による並べ替え、複数列による並べ替え、インデックスによる並べ替え、カスタム 並べ替え関数) を紹介します。これらのソート機能を柔軟に活用することで、特定の条件に応じたデータのソートが容易になります。この記事のサンプルコードが皆さんの実践に役立つことを願っています。
以上が公開: 特定の条件で並べ替えるための pandas テクニックの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。