2.3.0の新機能 (2025年6月4日)#
これらはpandas 2.3.0での変更点です。他のバージョンのpandasを含む完全な変更履歴については、リリースノートをご覧ください。
機能強化#
その他の機能強化#
__array__メソッド (すなわち、pandasオブジェクトでnp.array()またはnp.asarray()を使用する際に呼び出される) におけるcopyキーワードのセマンティクスが、NumPy >= 2で正しく動作するように更新されました (GH 57739)Series.str.decode()の結果は、future.infer_stringがTrueの場合にStringDtypeを持つようになりました (GH 60709)to_hdf()およびto_hdf()は、StringDtypeでラウンドトリップするようになりました (GH 60663)NumpyExtensionArrayのreprがNEP51を考慮するように改善されました (GH 61085)Series.str.decode()に、結果のdtypeを制御する引数dtypeが追加されました (GH 60940)cumsum()、cummin()、およびcummax()の集約が、StringDtype列で実装されました (GH 60633)sum()集約が、StringDtype列で実装されました (GH 59853)
注目すべきバグ修正#
これらは、注目すべき動作変更をもたらす可能性のあるバグ修正です。
注目すべきバグ修正1#
以前のバージョンでは、異なる文字列dtypeのSeries (例: pd.StringDtype("pyarrow", na_value=pd.NA)とpd.StringDtype("python", na_value=np.nan)) を比較すると、結果のdtypeが矛盾したり、誤ってエラーが発生したりしていました。pandasは今後、階層を使用します。
Pythonの最小バージョンが引き上げられました#
異なる文字列dtypeが比較された際の結果のdtypeを決定する際に。いくつかの例
pd.StringDtype("pyarrow", na_value=pd.NA)が他の文字列dtypeと比較される場合、結果は常にboolean[pyarrow]になります。pd.StringDtype("python", na_value=pd.NA)がpd.StringDtype("pyarrow", na_value=np.nan)と比較される場合、結果はNumPyをバックエンドとするnull許容拡張配列であるbooleanになります。pd.StringDtype("python", na_value=pd.NA)がpd.StringDtype("python", na_value=np.nan)と比較される場合、結果はNumPyをバックエンドとするnull許容拡張配列であるbooleanになります。
APIの変更点#
future.infer_stringオプションを有効にすると、Indexの集合演算 (ユニオンやインターセクションなど) は、結果のIndexのdtypeを決定する際に、空のRangeIndexまたはobjectdtypeの空のIndexのdtypeを無視するようになりました (GH 60797)
非推奨#
str.contains()、str.startswith()、およびstr.endswith()において、すでにこれらの値が許可されていないdtypeではない場合、naに非bool値を許可することが非推奨になりました (GH 59615)StringDtypeの"pyarrow_numpy"ストレージオプションが非推奨になりました (GH 60152)DataFrameGroupBy.apply()で引数include_groupsをTrueに設定する非推奨が、DeprecationWarningからFutureWarningに昇格しました。Falseのみが許可されます (GH 7155)
バグ修正#
数値#
dropna=FalseのSeries.mode()およびDataFrame.mode()で、NA値が存在する場合にすべてのdtypeがソートされないバグが修正されました (GH 60702)objectdtypeでSeries.round()を使用すると常にTypeErrorが発生するバグが修正されました (GH 61206)
文字列#
DataFrameGroupBy.min()、DataFrameGroupBy.max()、Resampler.min()、Resampler.max()で、文字列dtypeのすべてのNA値が文字列dtypeではなくfloatを返すバグが修正されました (GH 60810)axis=1のDataFrame.sum()、skipna=TrueのDataFrameGroupBy.sum()またはSeriesGroupBy.sum()、およびStringDtypeのすべてのNA値を持つResampler.sum()が、空の文字列""ではなく0を返していたバグが修正されました (GH 60229)Series.__pos__()およびDataFrame.__pos__()で、storage="pyarrow"のStringDtypeに対してExceptionが送出されなかったバグが修正されました (GH 60710)storage="pyarrow"のStringDtypeに対するSeries.rank()で、method="average"の場合に誤って整数結果を返し、結果を切り捨てる場合にエラーを発生させていたバグが修正されました (GH 59768)StringDtypeを持つSeries.replace()で、非文字列値に置き換える際にobjectdtypeにアップキャストされていなかったバグが修正されました (GH 60282)storage="pyarrow"のStringDtypeを持つSeries.str.center()で、奇数個の埋め文字を持つコーナーケースでpythonの挙動と一致しないバグが修正されました (GH 54792)storage="pyarrow"のStringDtypeでn < 0の場合のSeries.str.replace()のバグが修正されました (GH 59628)ArrowDtypeおよびstorage="pyarrow"のStringDtypeで、負のstepを持つSeries.str.slice()が不正な結果を返していたバグが修正されました (GH 59710)
インデックス付け#
infer_stringが有効な場合に、文字列dtypeを介してIndex.get_indexer()がラウンドトリップする際のバグが修正されました (GH 55834)
I/O#
DataFrame.to_excel()が、小数を数値ではなく文字列として保存していたバグが修正されました (GH 49598)
その他#
オプションの依存関係
pyarrowまたはjinja2がインストールされていない場合のinspectの使用が修正されました (GH 60196)
貢献者#
このリリースには合計24人がパッチを寄稿しました。名前の横に「+」が付いている人は、初めてパッチを寄稿しました。
ChiLin Chiu +
アーブ・ラスティッグ
Isuru Fernando +
Jake Thomas Trevallion +
Joris Van den Bossche
Kevin Amparado +
LOCHAN PAUDEL +
Lumberbot (aka Jack)
Marc Mueller +
Marco Edward Gorelli
Matthew Roeschke
Pandas Development Team
Patrick Hoefler
Richard Shadrach
SALCAN +
Sebastian Berg
Simon Hawkins
Thomas Li
Will Ayd
ウィリアム・アンドレア
ウィリアム・エイド
dependabot[bot]
jbrockmendel
tasfia8 +