Skip to Content
Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
book

Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

by Jake VanderPlas, 菊池 彰
February 2024
Intermediate to advanced
576 pages
9h 17m
Japanese
O'Reilly Japan, Inc.
Content preview from Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

11章配列のソート

ここまでは、主にNumPyで配列データにアクセスして操作する機能に注目してきました。この章では、NumPy配列のソートに関連するアルゴリズムについて説明します。これらのアルゴリズムは、初歩のコンピュータサイエンスコースで好まれる話題です。もしこれまでにそうしたコースを受けたことがあるならば、挿入ソート選択ソートマージソートクイックソートバブルソートその他多数のソートについては夢に出てくるほど何度も繰り返し学んだことでしょう(場合によっては悪夢だったかもしれません)。これらの目的はすべて同じです。つまりリストや配列の値を順番に並べ替えることです。

Pythonには、リストなど反復可能な(iterable)オブジェクトをソートする組み込み関数とメソッドをいくつか提供しています。sorted関数は反復可能なオブジェクトを受け取り、ソート済みのリストを返します。

In [1]: L = [3, 1, 4, 1, 5, 9, 2, 6]
        sorted(L)  # ソート済みのコピーを返す
Out[1]: [1, 1, 2, 3, 4, 5, 6, 9]

一方、sortメソッドは、リストを直接ソートします。

In [2]: L.sort()  # リストを直接ソートしNoneを返す
        print(L)
Out[2]: [1, 1, 2, 3, 4, 5, 6, 9]

Pythonのソート機能は非常に柔軟で、あらゆる反復可能なオブジェクトをソートできます。次の例は、文字列をソートしています。

In [3]: sorted('python')
Out[3]: ['h', 'n', 'o', 'p', 't', 'y']

このような組み込みのソートは便利ですが、以前説明したようにPythonは動的型付き言語であり、型の均一な配列用に設計された関数ほどの性能が出せません。そこで、NumPyソート関数の出番です。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

Jake VanderPlas, 菊池 彰
推薦システム実践入門 ―仕事で使える導入ガイド

推薦システム実践入門 ―仕事で使える導入ガイド

風間 正弘, 飯塚 洸二郎, 松村 優也
プロダクトマネージャーのしごと 第2版 ―1日目から使える実践ガイド

プロダクトマネージャーのしごと 第2版 ―1日目から使える実践ガイド

Matt LeMay, 永瀬 美穂, 吉羽 龍太郎, 原田 騎郎, 高橋 一貴

Publisher Resources

ISBN: 9784814400638Publisher Website