Что нового в версии 1.0.2 (12 марта 2020)#
Это изменения в pandas 1.0.2. См. Примечания к выпуску для полного списка изменений, включая другие версии pandas.
Исправленные регрессии#
Группировка
Исправлена регрессия в
DataFrameGroupBy.agg()иSeriesGroupBy.agg()которые не работали на фреймах сMultiIndexстолбцы и пользовательская функция (GH 31777)Исправлена регрессия в
groupby(..).rolling(..).apply()(RollingGroupby), гдеrawпараметр игнорировался (GH 31754)Исправлена регрессия в
rolling(..).corr()при использовании временного смещения (GH 31789)Исправлена регрессия в
groupby(..).nunique()который изменял исходные значения, еслиNaNзначения присутствовали (GH 31950)Исправлена регрессия в
DataFrame.groupbyвызовValueErrorиз внутренней операции (GH 31802)Исправлена регрессия в
DataFrameGroupBy.agg()иSeriesGroupBy.agg()вызов пользовательской функции лишний раз на пустом входе (GH 31760)
I/O
Исправлена регрессия в
read_csv()в которомencodingопция не распознавалась с некоторыми файлоподобными объектами (GH 31819)Исправлена регрессия в
DataFrame.to_excel()когдаcolumnsпередается аргумент ключевого слова (GH 31677)Исправлена регрессия в
ExcelFileгде поток, переданный в функцию, был закрыт деструктором. (GH 31467)Исправлена регрессия, где
read_pickle()вызывалUnicodeDecodeErrorпри чтении pickle-файла py27 сMultiIndexстолбец (GH 31988).
Переиндексация/выравнивание
Исправлена регрессия в
Series.align()когдаotherявляетсяDataFrameиmethodне являетсяNone(GH 31785)Исправлена регрессия в
DataFrame.reindex()иSeries.reindex()при переиндексации с (tz-aware) индексом иmethod=nearest(GH 26683)Исправлена регрессия в
DataFrame.reindex_like()наDataFrameподкласс вызвалAssertionError(GH 31925)Исправлена регрессия в
DataFrameарифметические операции с несовпадающими столбцами (GH 31623)
Другие
Исправлен регресс при соединении по
DatetimeIndexилиTimedeltaIndexдля сохраненияfreqв простых случаях (GH 32166)Исправлена регрессия в
Series.shift()сdatetime64тип данных при передаче целого числаfill_value(GH 32591)Исправлена регрессия в repr для object-dtype
Indexс булевыми значениями и пропущенными значениями (GH 32146)
Индексирование с массивами логических значений, допускающими null#
Ранее индексирование с нулевым логическим массивом, содержащим NA вызовет ValueError, однако теперь это разрешено с NA рассматривается как False. (GH 31503)
In [1]: s = pd.Series([1, 2, 3, 4])
In [2]: mask = pd.array([True, True, False, None], dtype="boolean")
In [3]: s
Out[3]:
0 1
1 2
2 3
3 4
Length: 4, dtype: int64
In [4]: mask
Out[4]:
[True, True, False, ]
Length: 4, dtype: boolean
pandas 1.0.0-1.0.1
>>> s[mask]
Traceback (most recent call last):
...
ValueError: cannot mask with array containing NA / NaN values
pandas 1.0.2
In [5]: s[mask]
Out[5]:
0 1
1 2
Length: 2, dtype: int64
Исправления ошибок#
Datetimelike
Ошибка в
Series.astype()не копировать для tz-naive и tz-awaredatetime64тип данных (GH 32490)Ошибка, где
to_datetime()вызывал бы ошибку при передачеpd.NA(GH 32213)Улучшено сообщение об ошибке при вычитании двух
Timestampкоторые приводят к выходу за пределыTimedelta(GH 31774)
Категориальный
Исправлена ошибка, где
Categorical.from_codes()неправильно вызывалValueErrorпри передаче обнуляемых целочисленных кодов. (GH 31779)Исправлена ошибка, где
Categorical()конструктор вызоветTypeErrorпри передаче массива numpy, содержащегоpd.NA. (GH 31927)Ошибка в
Categoricalкоторый игнорировал или вызывал сбой при вызовеSeries.replace()со спискообразнымto_replace(GH 31720)
I/O
Используя
pd.NAсDataFrame.to_json()теперь корректно выводит null-значение вместо пустого объекта (GH 31615)Ошибка в
pandas.json_normalize()когда значение в мета-пути не является итерируемым (GH 31507)Исправлена сериализация
pandas.NA. Ранее возвращался новый объект, что нарушало вычисления, основанные наNAявляясь одиночным (GH 31847)Исправлена ошибка при круговом преобразовании в parquet с обнуляемыми целочисленными типами без знака (GH 31896).
Экспериментальные типы данных
Исправлена ошибка в
DataFrame.convert_dtypes()для столбцов, которые уже использовали"string"тип данных (GH 31731).Исправлена ошибка в
DataFrame.convert_dtypes()для series со смесью целых чисел и строк (GH 32117)Исправлена ошибка в
DataFrame.convert_dtypes()гдеBooleanDtypeстолбцы были преобразованы вInt64(GH 32287)Исправлена ошибка при установке значений с использованием индексатора среза со строковым типом данных (GH 31772)
Исправлена ошибка, где
DataFrameGroupBy.first(),SeriesGroupBy.first(),DataFrameGroupBy.last(), иSeriesGroupBy.last()вызоветTypeErrorкогда группы содержалиpd.NAв столбце типа object (GH 32123)Исправлена ошибка, где
DataFrameGroupBy.mean(),DataFrameGroupBy.median(),DataFrameGroupBy.var(), иDataFrameGroupBy.std()вызоветTypeErrorнаInt64столбцы типа dtype (GH 32219)
Строки
Используя
pd.NAсSeries.str.repeat()теперь корректно выводит нулевое значение вместо ошибки для векторных входных данных (GH 31632)
Скользящее
Исправлены операции скользящего окна с переменным окном (определяемым по времени) на убывающем временном индексе (GH 32385).
Участники#
Всего 25 человек внесли исправления в этот выпуск. Люди с «+» рядом с именами внесли исправление впервые.
Anna Daglis +
Daniel Saxton
Ирв Ластиг
Jan Škoda
Joris Van den Bossche
Джастин Чжэн
Kaiqi Dong
Kendall Masse
Марко Горелли
Мэтью Рёшке
MeeseeksMachine
MomIsBestFriend
Команда разработчиков Pandas
Pedro Reys +
Prakhar Pandey
Robert de Vries +
Rushabh Vasani
Simon Hawkins
Stijn Van Hoey
Терджи Петерсен
Tom Augspurger
William Ayd
alimcmaster1
gfyoung
jbrockmendel