Что нового в 0.25.1 (21 августа 2019)#
Это изменения в pandas 0.25.1. См. Примечания к выпуску для полного списка изменений, включая другие версии pandas.
IO и LZMA#
Некоторые пользователи могут неосознанно иметь неполную установку Python, в которой отсутствует lzma модуль из стандартной библиотеки. В этом случае, import pandas не удалось из-за ImportError (GH 27575).
pandas теперь будет предупреждать, а не вызывать ImportError если lzma модуль отсутствует. Любая последующая попытка использовать lzma методы будут вызывать RuntimeError.
Возможное исправление для отсутствия lzma модуля — убедиться, что у вас есть необходимые библиотеки, а затем переустановить Python. Например, на MacOS установка Python с pyenv может привести к неполной установке Python из-за неудовлетворенных системных зависимостей во время компиляции (например, xz). Компиляция завершится успешно, но Python может завершиться ошибкой во время выполнения. Проблему можно решить, установив необходимые зависимости и затем переустановив Python.
Исправления ошибок#
Категориальный#
Ошибка в
Categorical.fillna()который заменил бы все значения, а не только те, которыеNaN(GH 26215)
Datetimelike#
Ошибка в
to_datetime()где передача временной зоны без учёта часового поясаDatetimeArrayилиDatetimeIndexиutc=Trueнеправильно возвращал результат без часового пояса (GH 27733)Ошибка в
Period.to_timestamp()гдеPeriodвнеTimestampграницы реализации (примерно с 1677-09-21 по 2262-04-11) возвращали некорректныйTimestampвместо вызова исключенияOutOfBoundsDatetime(GH 19643)Ошибка при итерации по
DatetimeIndexкогда базовые данные доступны только для чтения (GH 28055)
Часовые пояса#
Ошибка в
Indexгде массив объектов numpy с осведомленным о часовом поясеTimestampиnp.nanне вернётDatetimeIndex(GH 27011)
Числовой#
Ошибка в
Series.interpolate()при использовании datetime с учетом часового поясаDatetimeIndex(GH 27548)Ошибка при печати отрицательных комплексных чисел с плавающей точкой вызывала
IndexError(GH 27484)Ошибка, где
DataFrameарифметические операторы, такие какDataFrame.mul()сSeriesс axis=1 вызвало быAttributeErrorнаDataFrameбольше минимального порога для вызова numexpr (GH 27636)Ошибка в
DataFrameарифметические операции, где отсутствующие значения в результатах были некорректно замаскированы с помощьюNaNвместоInf(GH 27464)
Преобразование#
Улучшены предупреждения для устаревших методов
Series.real()иSeries.imag()(GH 27610)
Interval#
Ошибка в
IntervalIndexгдеdir(obj)вызоветValueError(GH 27571)
Индексирование#
Ошибка в частичном строковом индексировании, возвращающая массив NumPy вместо
Seriesпри индексировании скаляром, например.loc['2015'](GH 27516)Разорвать цикл ссылок, включающий
Indexи другие классы индексов, чтобы разрешить сборку мусора объектов индекса без запуска GC. (GH 27585, GH 27840)Исправлена регрессия при присвоении значений одному столбцу DataFrame с
MultiIndexстолбцы (GH 27841).Исправление регрессии в
.ixрезервный вариант сIntervalIndex(GH 27865).
Отсутствует#
Ошибка в
pandas.isnull()илиpandas.isna()когда входные данные имеют тип, например,type(pandas.Series())(GH 27482)
Ввод-вывод#
Избегать вызова
S3File.s3при чтении parquet, так как это было удалено в s3fs версии 0.3.0 (GH 27756)Улучшенное сообщение об ошибке при передаче отрицательного заголовка
pandas.read_csv()(GH 27779)Следуйте
min_rowsопция отображения (введена в v0.25.0) корректно в HTML repr в блокноте (GH 27991).
Построение графиков#
Добавлен
pandas_plotting_backendsгруппа точек входа для регистрации бэкендов построения графиков. См. Бэкенды построения графиков для получения дополнительной информации (GH 26747).Исправлено восстановление конвертеров даты и времени Matplotlib после вызова
pandas.plotting.deregister_matplotlib_converters()(GH 27481).Исправлена проблема совместимости с matplotlib при передаче pandas
Indexк вызову графика (GH 27775).
GroupBy/resample/rolling#
Исправлена регрессия в
pands.core.groupby.DataFrameGroupBy.quantile()вызывает исключение при указании нескольких квантилей (GH 27526)Ошибка в
DataFrameGroupBy.transform()где применение лямбда-функции преобразования часового пояса приводило к потере информации о часовом поясе (GH 27496)Ошибка в
GroupBy.nth()гдеobserved=Falseигнорировался для категориальных группировщиков (GH 26385)Ошибка в оконных операциях над массивами только для чтения (GH 27766)
Исправлен сегфолт в
.DataFrameGroupBy.quantileкогда был передан недопустимый квантиль (GH 27470)
Изменение формы#
A
KeyErrorтеперь вызывается, если.unstack()вызывается наSeriesилиDataFrameс плоскимIndexпередача имени, которое не является правильным (GH 18303)Ошибка
merge_asof()не удалось объединитьTimedeltaобъектами при передачеtolerancekwarg (GH 27642)Ошибка в
DataFrame.crosstab()когдаmarginsустановлено вTrueиnormalizeне являетсяFalse, возникает ошибка. (GH 27500)DataFrame.join()теперь подавляетFutureWarningкогда указан параметр sort (GH 21952)Ошибка в
DataFrame.join()вызов исключения с массивами только для чтения (GH 27943)
Разреженный#
Ошибка в редукциях для
Seriesс типами данных Sparse (GH 27080)
Другие#
Ошибка в
Series.replace()иDataFrame.replace()при замене временных меток с учетом часового пояса с использованием словарного заменителя (GH 27720)Ошибка в
Series.rename()при использовании пользовательского индексатора типа. Теперь любое значение, которое не является вызываемым или похожим на словарь, рассматривается как скаляр. (GH 27814)
Участники#
Всего 5 человек внесли патчи в этот выпуск. Люди со знаком "+" рядом с именами внесли патч впервые.
Jeff Reback
Joris Van den Bossche
MeeseeksMachine +
Tom Augspurger
jbrockmendel