0.25.1の新機能 (2019年8月21日)#

これらはpandas 0.25.1での変更点です。pandasの他のバージョンを含む完全な変更履歴については、リリースノートを参照してください。

IOとLZMA#

一部のユーザーは、標準ライブラリのlzmaモジュールが不足している不完全なPythonインストールを使用している可能性があります。この場合、ImportError (GH 27575) のためにimport pandasが失敗しました。pandasは、lzmaモジュールが存在しない場合、ImportErrorを発生させる代わりに警告を発するようになりました。その後lzmaメソッドを使用しようとするとRuntimeErrorが発生します。lzmaモジュールがない場合の考えられる解決策は、必要なライブラリがあることを確認してからPythonを再インストールすることです。例えば、MacOSでpyenvを使用してPythonをインストールすると、コンパイル時に満たされていないシステム依存関係(xzなど)のために不完全なPythonインストールになる可能性があります。コンパイルは成功しますが、Pythonは実行時に失敗する可能性があります。この問題は、必要な依存関係をインストールしてからPythonを再インストールすることで解決できます。

バグ修正#

カテゴリカル#

  • Categorical.fillna()で、NaN値だけでなくすべての値を置き換えてしまうバグ (GH 26215)

日付時刻ライク#

  • to_datetime()で、タイムゾーンなしのDatetimeArrayまたはDatetimeIndexを渡し、utc=Trueを指定すると、誤ってタイムゾーンなしの結果が返されるバグ (GH 27733)

  • Period.to_timestamp()で、Timestamp実装の範囲外(およそ1677-09-21から2262-04-11まで)のPeriodが、OutOfBoundsDatetimeを発生させる代わりに誤ったTimestampを返していたバグ (GH 19643)

  • 基になるデータが読み取り専用の場合にDatetimeIndexを反復処理する際のバグ (GH 28055)

タイムゾーン#

  • Indexで、タイムゾーンを考慮したTimestampnp.nanを含むNumPyオブジェクト配列がDatetimeIndexを返さなかったバグ (GH 27011)

数値#

  • タイムゾーンを考慮したDatetimeIndexを使用する場合のSeries.interpolate()のバグ (GH 27548)

  • 負の浮動小数点複素数を表示するとIndexErrorが発生するバグ (GH 27484)

  • DataFrame算術演算子(例: DataFrame.mul())で、axis=1を指定したSeriesを使用し、numexprを呼び出す最小閾値より大きいDataFrameの場合にAttributeErrorが発生するバグ (GH 27636)

  • DataFrameの算術演算で、結果の欠損値がInfではなくNaNで誤ってマスクされていたバグ (GH 27464)

変換#

  • 非推奨のメソッドSeries.real()Series.imag()の警告を改善しました (GH 27610)

Interval#

  • IntervalIndexdir(obj)ValueErrorを発生させるバグ (GH 27571)

インデックス付け#

  • 部分文字列インデックスで、.loc['2015']のようなスカラでインデックス付けしたときにSeriesではなくNumPy配列が返されるバグ (GH 27516)

  • Indexとその他のインデックスクラスを含む参照サイクルを解消し、GCを実行せずにインデックスオブジェクトのガーベージコレクションを可能にしました。 (GH 27585, GH 27840)

  • MultiIndex列を持つDataFrameの単一列に値を代入する際の回帰を修正 (GH 27841)。

  • IntervalIndexを使用した.ixフォールバックにおける回帰を修正 (GH 27865)。

欠損値#

IO#

  • parquetの読み込み時にS3File.s3が呼び出されないように修正。これはs3fsバージョン0.3.0で削除されたため。 (GH 27756)

  • pandas.read_csv()に負のヘッダーが渡された場合のより良いエラーメッセージ (GH 27779)

  • ノートブックのHTML reprで、min_rows表示オプション (v0.25.0で導入) を正しく追従するように修正しました (GH 27991)。

プロット#

  • プロットバックエンドを登録するためのpandas_plotting_backendsエントリポイントグループを追加しました。詳細については、プロットバックエンドを参照してください (GH 26747)。

  • pandas.plotting.deregister_matplotlib_converters()の呼び出し後、Matplotlibのdatetimeコンバータが復元されない問題を修正しました (GH 27481)。

  • pandasのIndexをプロット呼び出しに渡す際のMatplotlibとの互換性問題を修正しました (GH 27775)。

GroupBy/resample/rolling#

  • 複数の分位値が与えられた場合にpands.core.groupby.DataFrameGroupBy.quantile()が例外を発生させる回帰を修正 (GH 27526)

  • DataFrameGroupBy.transform()で、タイムゾーン変換ラムダ関数を適用するとタイムゾーン情報が失われるバグ (GH 27496)

  • GroupBy.nth()で、Categoricalグルーパの場合にobserved=Falseが無視されるバグ (GH 26385)

  • 読み取り専用配列でのウィンドウ処理のバグ (GH 27766)

  • 無効な分位値が渡された場合に.DataFrameGroupBy.quantileでセグメンテーション違反が発生する問題を修正しました (GH 27470)

再整形#

  • 正しくない名前を渡して、フラットなIndexを持つSeriesまたはDataFrame.unstack()を呼び出すとKeyErrorが送出されるようになりました (GH 18303)

  • merge_asof()toleranceキーワード引数を渡すとTimedeltaオブジェクトをマージできなかったバグ (GH 27642)

  • DataFrame.crosstab()で、marginsTrueに設定され、normalizeFalseでない場合にエラーが発生するバグ。 (GH 27500)

  • DataFrame.join()は、sortパラメータが指定された場合にFutureWarningを抑制するようになりました (GH 21952)

  • 読み取り専用配列でDataFrame.join()が例外を発生させるバグ (GH 27943)

スパース#

  • スパースなdtypeを持つSeriesの削減におけるバグ (GH 27080)

その他#

  • 辞書のような置換器を使用してタイムゾーンを考慮したタイムスタンプを置換する際のSeries.replace()およびDataFrame.replace()のバグ (GH 27720)

  • Series.rename()でカスタム型インデクサを使用する際のバグ。現在は、呼び出し可能でも辞書ライクでもない値はスカラとして扱われます。 (GH 27814)

貢献者#

このリリースには合計5名の方々がパッチを貢献してくださいました。名前の横に「+」が付いている方は今回初めてパッチを貢献してくださいました。

  • ジェフ・リーバック

  • Joris Van den Bossche

  • ミーシークスマシン +

  • Tom Augspurger

  • jbrockmendel