Pythonのpandasのsort_values関数の使い方を現役エンジニアが解説【初心者向け】
初心者向けにPythonのpandasのsort_values関数の使い方について現役エンジニアが解説しています。pandasとはPython用のデータ分析ライブラリで、ort_values関数とはpandaで作成したデータフレームのデータを昇順・降順などのソート処理ができる関数です。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Pythonのpandasのsort_values関数の使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。
Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。
今回は、Pythonに関する内容だね!
どういう内容でしょうか?
Pythonのpandasのsort_values関数の使い方について詳しく説明していくね!
お願いします!
pandasとは
pandasとはPython用のデータ分析ライブラリです。
高性能で使いやすいデータ構造とデータ解析ツールをはじめデータフレーム形式を扱うことができます。データフレーム形とは普段しているExcelやスプレッドシートのようなデータ構造になります。
pandasについてはこちらの記事も参照ください。
sort_values関数とは
sort_values関数とはpandaで作成したデータフレームのデータを昇順・降順などのソート処理ができる関数です。この関数についてもExcel等で使用するフィルタ機能をイメージすると理解しやすいかと思います。
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ツールを作成しています。 |
大石ゆかり
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。