ホームページ >バックエンド開発 >Python チュートリアル >公開: 特定の条件で並べ替えるための pandas テクニックの詳細な説明

公開: 特定の条件で並べ替えるための pandas テクニックの詳細な説明

WBOY
WBOYオリジナル
2024-01-24 10:36:08699ブラウズ

公開: 特定の条件で並べ替えるための 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 サイトの他の関連記事を参照してください。

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