Версия 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_year API удалён из 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 +