パンダ1.0は大きな重大な変更をもたらします

Pythonのデータ分析ライブラリであるPandasは、ついに1.0リリース候補に到達しました。Pandas 1.0は、非推奨の機能を大幅に削除し、Python3.6以降を必要とします。 

Pandasは、テーブル、マトリックス、時系列データなどの構造化形式のデータを簡単に操作できるように作成されました。Pandasは、Rのデータフレームの機能の多くを覆い隠しており、Pythonの世界の他の科学計算ライブラリとうまく連携します。

Pandas 1.0では、Pandasの作成者が、しばらくの間作業を行ってきた多数の重大な変更を紹介します。最も重要なものの概要と、今後の対処方法を以下に示します。

パンダにはPython3.6.1以降が必要です

Pandas 1.0の最大の変更点は、Python3.6.1より前のすべてのバージョンのPythonのサポートを終了することです。Pandasは2019年にPython2のサポートを終了し、Python 3のみにコミットしたため、これは主に既存のポリシーの改良版です。

このプロジェクトには、Pandasの将来のバージョンに対する新しいサポートポリシーもあります。Pythonのバージョンのサポートが終了すると、Pandasの主要な新しいバージョン(2.0、3.0など)で展開されます。マイナーリリースでは機能が非推奨になりますが、削除はされません。メジャーリリースでは機能が削除されます。

パンダの新しいNA値

以前のバージョンのPandasは、コンテナのタイプに応じて、欠落データを表すために異なるタイプを使用していました。1つは日時タイプ用、もう1つはオブジェクト用などです。これらはすべて、NAと呼ばれる単一の欠落データタイプにマージされています。現在、NAのサポートはいくつかのオブジェクトタイプに制限されており、実験的なものと見なされているため、まだ本番環境で使用しないでください。 

APIの非互換性

Pandas 1.0への変更の数が多いため、PandasのAPIの一部は下位互換性がなくなりました。これには、多くの一般的な要素の動作の変更が含まれます。

  • DataFrame タイプ
  • pandas.array
  • arrays.IntegerArray

これらの非互換性の多くは警告を発しますが、既存のPandasスクリプトをPandas 1.0の対応するスクリプトと並べてテストし、それらがどのように動作するかを確認することをお勧めします。

Pandas1.0の非推奨機能

Pandasのドキュメントには、Pandas 1.0で廃止されるが、削除されないすべての機能がリストされています。テストモジュールのように、単に名前が変更されたり再編成されたりしたものもあれば、特定の関数パラメータの使用を変更したものもあります。withSeries.item()や、などのいくつかのケースではIndex.item()、機能は非推奨から救われ、引き続き利用可能です。

あなたが0.25より前のパンダのバージョンを使用している場合は、パンダのクリエイターは、パンダ0.25への移行をお勧めします まず、期待通りに必ずすべてのパンダ依存のコードの振る舞い作り、 その後、パンダ1.0に移行します。これは、非推奨の機能を使用するコードにフラグが付けられるようにするためです。

Pandas1.0で削除された機能

Pandas 1.0では、いくつかの主要なPandas機能が完全に削除されました。

  • SparseSeriesおよびSparseDataFrame。代わりに、Seriesまたはオプションを使用してください。DataFramesparsevalues
  • Matplotlibユニットの登録。これは、パンダをインポートするときにMatplotlibが影響を受けるのを防ぐためです。
  • 以前に非推奨になった他の多くの機能。

繰り返しになりますが、これは、Pandas 1.0リリース候補を既存のPandasインストールと並べてテストし、スクリプトが意図したとおりに動作することを確認するもう1つの理由です。

Pandas1.0のインストール

Pandas 1.0は、Pipパッケージマネージャーを使用して、と入力することにより、Python内に直接インストールできますpip install pandas。Pandas 1.0は、科学計算用のAnacondaPythonディストリビューションの一部としても利用できます。

いずれの場合も、特にPandas 1.0スクリプトのテストを以前のバージョンのスクリプトと並べて実行する場合は、仮想環境にPandasをインストールすることをお勧めします。