Pythonのpandasのsort_values関数の使い方を現役エンジニアが解説【初心者向け】

初心者向けにPythonのpandasのsort_values関数の使い方について現役エンジニアが解説しています。pandasとはPython用のデータ分析ライブラリで、ort_values関数とはpandaで作成したデータフレームのデータを昇順・降順などのソート処理ができる関数です。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonのpandasのsort_values関数の使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのpandasのsort_values関数の使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

pandasとは

pandasとはPython用のデータ分析ライブラリです。

高性能で使いやすいデータ構造とデータ解析ツールをはじめデータフレーム形式を扱うことができます。データフレーム形とは普段しているExcelやスプレッドシートのようなデータ構造になります。

pandasについてはこちらの記事も参照ください。

データ分析のライブラリ!Pandasとは【初心者向け】

sort_values関数とは

sort_values関数とはpandaで作成したデータフレームのデータを昇順・降順などのソート処理ができる関数です。この関数についてもExcel等で使用するフィルタ機能をイメージすると理解しやすいかと思います。

[PR] Pythonで挫折しない学習方法を動画で公開中

sort_values関数の使い方

ここでは、sort_values関数の使い方について紹介します。sort_values関数は以下の文法で使用することができます。

[昇順でソート]

'データフレーム'.sort_values('要素名')

[降順でソート]

'データフレーム'.sort_values('要素名', ascending = False)

 

実際に書いてみよう

それでは、サンプルコード例に sort_values関数を使いデータをソートするコードを実際に書いてみましょう。今回のサンプルコードで使用するcsvデータ”sample.csv”をこちらからダウンロードしてください。

[昇順でソート]

サンプルコード

# -*- coding: utf-8 -*-
import pandas as pd

# sample.csvの取り込み
df = pd.read_csv('{csvファイルのフルパス}')

# 総合得点を昇順でソートして出力
print(df.sort_values('総合得点'))

 

実行結果

生徒番号 名前 名前フリガナ 性別 総合得点
7 408 戸田 弘人 トダ ヒロト 男 217
12 413 黒木 光善 クロキ ミツヨシ 男 248
13 414 根本 真理 ネモト マリ 女 261
11 412 荒川 一人 アラカワ カズト 男 274
9 410 江口 佳江 エグチ ヨシエ 女 292
0 401 臼井 敬志 ウスイ ケイジ 男 315
10 411 荒井 豊司 アライ トヨシ 男 330
1 402 下田 優香 シモダ ユウカ 女 359
4 405 菊池 清名 キクチ セイナ 女 362
3 404 丸山 真志 マルヤマ マサシ 男 385
5 406 吉原 心一 ヨシハラ シンイチ 男 418
2 403 花田 仁三郎 ハナダ ジンザブロウ 男 449
14 415 三谷 悠里 ミタニ ユリ 女 455
8 409 後藤 博男 ゴトウ ヒロオ 男 480
6 407 原口 隆次 ハラグチ タカジ 男 491

 

解説

コード5行目では、用意しておいた”sample.csv”をpandasを使用してデータフレーム形で取り込んでいます。

コード8行目では、取り込んだデータフレームの”総合得点”の要素を指定し、昇順でソートしたものを出力しています。

実行結果では、総合得点の要素を昇順でソートされた結果が表示されていることが確認できます。

[降順でソート]

サンプルコード

# -*- coding: utf-8 -*-
import pandas as pd

# sample.csvの取り込み
df = pd.read_csv('{csvファイルのフルパス}')

# 総合得点を降順でソートして出力
print(df.sort_values('総合得点' , ascending = False))

 

実行結果

生徒番号 名前 名前フリガナ 性別 総合得点
6 407 原口 隆次 ハラグチ タカジ 男 491
8 409 後藤 博男 ゴトウ ヒロオ 男 480
14 415 三谷 悠里 ミタニ ユリ 女 455
2 403 花田 仁三郎 ハナダ ジンザブロウ 男 449
5 406 吉原 心一 ヨシハラ シンイチ 男 418
3 404 丸山 真志 マルヤマ マサシ 男 385
4 405 菊池 清名 キクチ セイナ 女 362
1 402 下田 優香 シモダ ユウカ 女 359
10 411 荒井 豊司 アライ トヨシ 男 330
0 401 臼井 敬志 ウスイ ケイジ 男 315
9 410 江口 佳江 エグチ ヨシエ 女 292
11 412 荒川 一人 アラカワ カズト 男 274
13 414 根本 真理 ネモト マリ 女 261
12 413 黒木 光善 クロキ ミツヨシ 男 248
7 408 戸田 弘人 トダ ヒロト 男 217

解説

サンプルコードは、先ほどの昇順でソートするサンプルコードを流用します。

コード8行目を降順でソートする文法へ書き換えています。

実行結果では、総合得点の要素を降順でソートされた結果が表示されていることが確認できます。

まとめ

今回は、Pythonのpandasのsort_values関数の使い方について紹介しました。今回紹介したpandasライブラリはPythonでのデータ処理に欠かせない主力のライブラリになりますのでしっかりとマスターしましょう。

また、今回紹介したsort_values関数以外にも様々な機能が用意されているので、そちらも是非学習してみましょう。

監修してくれたメンター

菅繕久(すがよしひこ)

現在はフリーランスのエンジニアをしていてプログラミング歴は8年目になります。

普段は Python、FileMaker等を使って様々な業務で活用できるIoTプロダクトRPAツールを作成しています。
開発実績としては、業務自動化ツール(在庫管理・発注・ファイル操作 etc)、電子カルテシステム、ロボット用プログラムなどがあります。
TechAcademyではPythonコースを担当しております。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。