Что нового в 2.2.1 (22 февраля 2024)#
Это изменения в pandas 2.2.1. См. Примечания к выпуску для полного списка изменений, включая другие версии pandas.
Улучшения#
Добавлен
pyarrowpip extra, чтобы пользователи могли установить pandas и pyarrow через pip сpip install pandas[pyarrow](GH 54466)
Исправленные регрессии#
Исправлена утечка памяти в
read_csv()(GH 57039)Исправлена регрессия производительности в
Series.combine_first()(GH 55845)Исправлена регрессия, вызывающая переполнение для меток времени, близких к минимальным (GH 57150)
Исправлена регрессия в
concat()изменение давнего поведения, которое всегда сортировало ось не-конкатенации, когда ось былаDatetimeIndex(GH 57006)Исправлена регрессия в
merge_ordered()вызовTypeErrorдляfill_method="ffill"иhow="left"(GH 57010)Исправлена регрессия в
pandas.testing.assert_series_equal()по умолчаниюcheck_exact=Trueпри проверкеIndex(GH 57067)Исправлена регрессия в
read_json()гдеIndexбудет возвращено вместоRangeIndex(GH 57429)Исправлена регрессия в
wide_to_long()вызовAttributeErrorдля строковых столбцов (GH 57066)Исправлена регрессия в
DataFrameGroupBy.idxmin(),DataFrameGroupBy.idxmax(),SeriesGroupBy.idxmin(),SeriesGroupBy.idxmax()игнорируяskipnaаргумент (GH 57040)Исправлена регрессия в
DataFrameGroupBy.idxmin(),DataFrameGroupBy.idxmax(),SeriesGroupBy.idxmin(),SeriesGroupBy.idxmax()где значения, содержащие минимальное или максимальное значение для типа данных, могли давать некорректные результаты (GH 57040)Исправлена регрессия в
CategoricalIndex.difference()вызовKeyErrorкогда other содержит нулевые значения, отличные от NaN (GH 57318)Исправлена регрессия в
DataFrame.groupby()вызовValueErrorпри группировке поSeriesв некоторых случаях (GH 57276)Исправлена регрессия в
DataFrame.loc()вызовIndexErrorдля неуникальных, маскированных индексов типа данных, где результат имеет более 10 000 строк (GH 57027)Исправлена регрессия в
DataFrame.loc()который необоснованно выдавал "предупреждение о несовместимом типе данных" при расширении с частичным индексом строк и несколькими столбцами (см. PDEP6) (GH 56503)Исправлена регрессия в
DataFrame.map()сna_action="ignore"не соблюдается для нулевых значений NumPy иArrowDtypes(GH 57316)Исправлена регрессия в
DataFrame.merge()вызовValueErrorдля определенных типов сторонних массивов расширений (GH 57316)Исправлена регрессия в
DataFrame.query()со всемиNaTстолбец с типом данных object (GH 57068)Исправлена регрессия в
DataFrame.shift()вызовAssertionErrorдляaxis=1и пустойDataFrame(GH 57301)Исправлена регрессия в
DataFrame.sort_index()не обеспечивает стабильную сортировку для индекса с дубликатами (GH 57151)Исправлена регрессия в
DataFrame.to_dict()сorient='list'и типы datetime или timedelta, возвращающие целые числа (GH 54824)Исправлена регрессия в
DataFrame.to_json()преобразование nullable целых чисел в числа с плавающей точкой (GH 57224)Исправлена регрессия в
DataFrame.to_sql()когдаmethod="multi"передается, а тип диалекта не Oracle (GH 57310)Исправлена регрессия в
DataFrame.transpose()с нуллифицируемыми расширенными типами данных, не имеющими F-последовательных данных, что потенциально может вызывать исключения при использовании (GH 57315)Исправлена регрессия в
DataFrame.update()выдача некорректных предупреждений о понижающем преобразовании (GH 57124)Исправлена регрессия в
DataFrameGroupBy.idxmin(),DataFrameGroupBy.idxmax(),SeriesGroupBy.idxmin(),SeriesGroupBy.idxmax()игнорируяskipnaаргумент (GH 57040)Исправлена регрессия в
DataFrameGroupBy.idxmin(),DataFrameGroupBy.idxmax(),SeriesGroupBy.idxmin(),SeriesGroupBy.idxmax()где значения, содержащие минимальное или максимальное значение для типа данных, могли давать некорректные результаты (GH 57040)Исправлена регрессия в
ExtensionArray.to_numpy()вызов исключения для нечисловых маскированных типов данных (GH 56991)Исправлена регрессия в
Index.join()вызовTypeErrorпри объединении пустого индекса с непустым индексом, содержащим значения смешанных типов данных (GH 57048)Исправлена регрессия в
Series.astype()введение десятичных знаков при преобразовании из целочисленного типа с пропущенными значениями в строковый тип данных (GH 57418)Исправлена регрессия в
Series.pct_change()вызовValueErrorдля пустогоSeries(GH 57056)Исправлена регрессия в
Series.to_numpy()когда dtype задан как float и данные содержат NaN (GH 57121)Исправлена регрессия при сложении или вычитании
DateOffsetобъекты с миллисекундными компонентами вdatetime64Index,Series, илиDataFrame(GH 57529)
Исправления ошибок#
Исправлена ошибка в
pandas.api.interchange.from_dataframe()что вызывало ошибку для Nullable integers (GH 55069)Исправлена ошибка в
pandas.api.interchange.from_dataframe()которое вызывало исключение для пустых входных данных (GH 56700)Исправлена ошибка в
pandas.api.interchange.from_dataframe()который не преобразовывал имена столбцов в строки (GH 55069)Исправлена ошибка в
DataFrame.__getitem__()для пустыхDataFrameс включенной копированием при записи (GH 57130)Исправлена ошибка в
PeriodIndex.asfreq()который молча преобразовывал частоты, которые не поддерживаются как частоты периодов, вместо вызова ошибки (GH 56945)
Другие#
Примечание
The DeprecationWarning которая возникала при импорте pandas без установленного PyArrow, была удалена. Это решение было принято, потому что предупреждение было слишком назойливым для слишком многих пользователей, и было собрано много отзывов о решении сделать PyArrow обязательной зависимостью. Pandas в настоящее время рассматривает вопрос о том, следует ли добавлять PyArrow как жёсткую зависимость в версии 3.0. Заинтересованные пользователи могут следить за обсуждением
здесь.
Добавлен аргумент
skipnatoDataFrameGroupBy.first(),DataFrameGroupBy.last(),SeriesGroupBy.first(), иSeriesGroupBy.last(); достижениеskipna=Falseранее был доступен черезDataFrameGroupBy.nth(), но поведение было изменено в pandas 2.0.0 (GH 57019)Добавлен аргумент
skipnatoResampler.first(),Resampler.last()(GH 57019)
Участники#
Всего 14 человек внесли патчи в этот релиз. Люди со знаком «+» рядом с именами внесли патч впервые.
Albert Villanova del Moral
Люк Мэнли
Lumberbot (он же Джек)
Marco Edward Gorelli
Мэтью Рёшке
Natalia Mokeeva
Команда разработчиков Pandas
Patrick Hoefler
Richard Shadrach
Роберт Шмидтке +
Samuel Chai +
Thomas Li
William Ayd
dependabot[bot]