Версия 0.9.0 (7 октября 2012)#
Это основной выпуск с версии 0.8.1 и включает несколько новых функций и улучшений, а также большое количество исправлений ошибок. Новые функции включают векторизованное кодирование/декодирование Unicode для Series.str, to_latex метод в
DataFrame, более гибкий разбор логических значений и включение загрузки
данных опционов из Yahoo! Finance.
Новые возможности#
Добавить
encodeиdecodeдля обработки юникода в векторизованные методы обработки строк в Series.str (GH 1706)Добавить
DataFrame.to_latexметод (GH 1735)Добавлены удобные эквиваленты расширяющегося окна для всех операций rolling_* (GH 1785)
Добавлен класс Options в pandas.io.data для получения данных опционов из Yahoo! Finance (GH 1748, GH 1739)
Более гибкий парсинг булевых значений (Yes, No, TRUE, FALSE и т.д.) (GH 1691, GH 1295)
Добавить
levelпараметр дляSeries.reset_index
TimeSeries.between_timeтеперь может выбирать время через полночь (GH 1871)Конструктор Series теперь может обрабатывать генератор как входные данные (GH 1679)
DataFrame.dropnaтеперь может принимать несколько осей (кортеж/список) в качестве входных данных (GH 924)Включить
skip_footerпараметр вExcelFile.parse(GH 1843)
Изменения API#
Имена столбцов по умолчанию, когда
header=Noneи без передачи имен столбцов в функции, такие какread_csvизменился, чтобы быть более питоническим и удобным для доступа через атрибуты:
In [1]: import io
In [2]: data = """
...: 0,0,1
...: 1,1,0
...: 0,1,0
...: """
...:
In [3]: df = pd.read_csv(io.StringIO(data), header=None)
In [4]: df
Out[4]:
0 1 2
0 0 0 1
1 1 1 0
2 0 1 0
[3 rows x 3 columns]
Создание Series из другого Series с передачей индекса вызовет переиндексацию внутри, а не обработку Series как ndarray. Технически неправильные использования, такие как
Series(df[col1], index=df[col2])которые работали ранее "по случайности" (это никогда не предполагалось) приведут к полностью NA Series в некоторых случаях. Чтобы было совершенно ясно:
In [5]: s1 = pd.Series([1, 2, 3])
In [6]: s1
Out[6]:
0 1
1 2
2 3
Length: 3, dtype: int64
In [7]: s2 = pd.Series(s1, index=["foo", "bar", "baz"])
In [8]: s2
Out[8]:
foo NaN
bar NaN
baz NaN
Length: 3, dtype: float64
Устаревший
day_of_yearAPI удалён из PeriodIndex, используйтеdayofyear(GH 1723)Не изменять параметр подавления вывода NumPy на True при импорте
Внутреннее расположение данных HDF5 для DataFrames было транспонировано. Устаревшие файлы по-прежнему будут читаться HDFStore (GH 1834, GH 1824)
Устаревший код удалён: pandas.stats.misc.quantileTS
Использовать формат ISO8601 для представления Period: ежемесячно, ежедневно и ниже (GH 1776)
Пустые столбцы DataFrame теперь создаются как тип данных object. Это предотвратит класс ошибок TypeError, которые возникали в коде, где тип данных столбца зависел от наличия данных или нет (например, SQL-запрос с результатами) (GH 1783)
Установка частей DataFrame/Panel с использованием ix теперь выравнивает входной Series/DataFrame (GH 1630)
firstиlastметоды вGroupByбольше не удаляет нечисловые столбцы (GH 1809)Устранены несоответствия в указании пользовательских значений NA в текстовом парсере.
na_valuesтипа dict больше не переопределяют значения по умолчанию NA, еслиkeep_default_naявно установлено в false (GH 1657)DataFrame.dotне будет выполнять выравнивание данных, а также работать с Series (GH 1915)
См. полные заметки о выпуске или трекер задач на GitHub для полного списка.
Участники#
Всего 24 человека внесли патчи в этот выпуск. Люди с «+» рядом с именами внесли патч впервые.
Chang She
Christopher Whelan +
Dan Miller +
Daniel Shapiro +
Dieter Vandenbussche
Doug Coleman +
John-Colvin +
Johnny +
Joshua Leahy +
Lars Buitinck +
Mark O’Leary +
Martin Blais
MinRK +
Paul Ivanov +
Skipper Seabold
Spencer Lyon +
Taavi Burns +
Wes McKinney
Wouter Overmeire
Yaroslav Halchenko
lenolib +
tshauck +
y-p +
Øystein S. Haaland +