――NumPy、pandasを使ったデータ処理』。pandasについてデータ操作などの基礎的な部分が網羅されている。Notebook(.ipynb)形式のサンプルコードで公開されている。1st-edition原著第1版は2012年10月発売。pandasは更新が活発なので、現在ではdeprecated(非推奨)となっているメソッドが使われていたりして、第1版のサンプルコードをそのまま実行すると警告やエラーが発生してしまう。以下、すべてではないが主にpandasで大きく変わった部分について簡単に説明する。Edition)が2017年10月に発売されていて、サンプルコードも新しいバージョンに対応している。第1版からの変更点などについては以下の記事を参照。Edition』2018年7月26日に日本語版の第2版も発売された。これから買うなら絶対に第2版を買うべき。Handbook』の日本語版『Pythonデータサイエンスハンドブック』が2018年5月26日に発売された。pandasについては『Pythonによるデータ分析入門』のほうが詳しいが、Matplotlibについては『Pythonデータサイエンスハンドブック』のほうが詳しい。『Pythonデータサイエンスハンドブック』では機械学習のライブラリscikit-learnも扱っている。ilocpandas.DataFrameのデータ選択のための方法としてixフィールドが紹介されている(P146ほか)。これをver0.22.0で実行すると警告が出る。indexingver0.20.0からixはdeprecated(非推奨)となっている。documentation警告文の通り、ラベル(列名・行名)で指定する場合はloc、列番号・行番号で指定する場合はilocを使う。ilocなどの詳細は以下の記事を参照。ilocSeriesの要素でソートする場合、orderではなくsort_valuespandas.Seriesをラベルではなくデータ(要素)でソートする方法としてorder()が紹介されている(P154)。これをver0.22.0で実行するとエラーになる。'order'order()は廃止されているので、ver0.17.0から追加されたsort_values()を使う。documentation列を指定してソートする場合、sort_indexではなくsort_valuespandas.DataFrameの列を指定してソートする方法としてsort_index(by=...)が紹介されている(P155)。これをver0.22.0で実行すると警告が出る。.sort_values(by=...)列のデータ(要素)でソートする場合はver0.17.0から追加されたsort_values(by=...)を使う。sort_index()は廃止されたわけではなく、インデックス(行名・列名)でソートする場合に用途が限定された。sort_index()についての詳細は以下の記事を参照。sort_indexpandas.io.dataではなくpandas-datareader株価のデータを取得するためにpandas.io.dataをインポートして使っている(P160など)。これをver0.22.0で実行するとエラーとなる。webでインポートする必要がある。pandas-datareaderを使った例としては以下の記事を参照。pandas-datareaderで株価や人口のデータを取得xrangeではなくrangeを使うこれはpandasではなくPython2からPython3での変更。サンプルコード中でxrange()を使っている箇所がいくつかあるが、Python3でそのまま実行するとエラーとなる。definedPython2ではリストを返すrange()とイテラブルオブジェクトを返すxrange()があったが、Python3ではrange()がイテラブルオブジェクトを返すようになり、xrange()は廃止された。Python3で実行する場合はxrange()をrange()に置き換えればOK。