Python × Excel

PythonでExcelのソート(並び替え)操作、特定の列だけを表示する方法

python-excel-sort

本記事では、PythonでExcel のソート(並び替え)操作、特定の列を表示する方法をご紹介します。

Pythonの実行環境

今回は、以下の実行環境でプログラムを実行しています。

・Python 3.7.6
・Jupyterlab 1.2.6
・Pandas:1.1.2

テストデータは、次のような予算管理表を使います。

ファイル名は「テストデータ.xlsx」で、シート名は「予算管理表」です。

■予算管理表

テストデータ

 

本記事で、利用するライブラリはPandasです。
そして、テストデータの予算管理表をdfとして読み込んでおきます。

import pandas as pd
df = pd.read_excel('テストデータ.xlsx', sheet_name = '予算管理表')

 

※本記事では、Pythonのコードの下のコメントアウトは、出力結果を示しています。

 

PythonでExcelのソート(並び替え)操作を行う方法

Excelでは、次のようにフィルターを使って昇順・降順で並び替えをします。

Excelソート

 

Pythonでは、sort_values()を使ってソート(並べ替え)を行います。

例として、 「2021年度」列を昇順にソートしてみます。

df.sort_values('2021年度')

sort_values()の引数に列名を指定するだけで、とてもシンプルに書けます。

結果は次のようになります。「2021年度」列の値が昇順になっています。

ソート結果

 

次に、降順のソートをみていきます。

df.sort_values('2021年度', ascending=False)

 

降順の場合は、2つ目の引数にascending=Falseを設定します。

 

Pythonで複数の列でソート(並び替え)操作を行う方法

次は、複数の列でソートする方法をみていきます。

Excelでいうと、「最初に「2022年度」列を降順にソートし、次に「2021年度」列を降順にソートする」といった操作です。

Excelソート2

後にソートした列ほど優先されるので、上の例では、「2021年度」列 → 「2022年度」列 の順で、降順にソートされた形になっています。

 

Pythonでは、sort_values()1つ目の引数にリストを指定することで実現できます。

df.sort_values(['2021年度', '2022年度'], ascending=False)

リストは、ソートを優先する順番で書きます。

上のExcelと同様の結果となります。

ソート結果2

 

 

Pythonで特定の列だけを表示する方法

最後に、特定の列だけで表示する方法をご紹介します。

例えば、2021年度の金額が大きい件名を確認したいとします。

その時は、他の情報は排除して「件名」列、「2021年度」列だけみたいですよね。

Pythonでは、次のように一旦、view_columnsとして表示する列を定義して、表示する列を絞ると良いです。

view_columns = ['件名', '2021年度']
df.sort_values('2021年度', ascending=False)[view_columns]

 

結果として、「2021年度」列で降順にソートされ、必要な情報だけが表示されました。

python表示列を絞る

 

 

以上、PythonでExcelのソート(並び替え)操作、特定の列だけを表示する方法を説明してきました。

最後まで読んでいただき、ありがとうございました。

 

よく読まれている記事

insta-auto-post 1

  インスタって自動で投稿できないのかな。いつもスマホで投稿するの大変だし・・ Pythonを使えば、インスタで自動で投稿できるよ!!特別に紹介するね ...

python-consult_1 2

  AI・機械学習、データサイエンティスト、、やっぱりこれからの時代Pythonは勉強すべきだよね!   その通り。Pythonは今後も伸び ...

【保存版】PythonでできるExcel操作のまとめ一覧 3

  Excelで作業するのって大変だな〜 なにか楽な方法ないかな〜   Excelの集計や単純作業は、Pythonで楽にできるよ!!この一覧 ...

python-works 4

ここでは、サイト管理者のいなサラがこれまでPythonで作ったものをご紹介します。 以下のリンクで、実際の作り方やソースコードを公開しているので、ぜひ参考にして ...

-Python × Excel

© 2023 inasala note