numpy diff на серии pandas

Я хочу использовать numpy.diff в серии pandas. Правильно ли, что это ошибка? Или я делаю это неправильно?

In [163]: s = Series(np.arange(10)) In [164]: np.diff(s) Out[164]: 0 NaN 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 NaN In [165]: np.diff(np.arange(10)) Out[165]: array([1, 1, 1, 1, 1, 1, 1, 1, 1]) 

Я использую pandas 0.9.1rc1, numpy 1.6.1.

One Solution collect form web for “numpy diff на серии pandas”

Pandas реализует diff так:

 In [3]: s = pd.Series(np.arange(10)) In [4]: s.diff() Out[4]: 0 NaN 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 

np.diff использование np.diff :

 In [7]: np.diff(s.values) Out[7]: array([1, 1, 1, 1, 1, 1, 1, 1, 1]) In [8]: np.diff(np.array(s)) Out[8]: array([1, 1, 1, 1, 1, 1, 1, 1, 1]) 

Так почему же не работает np.diff(s) ? Поскольку np принимает np.asanyarray() серии, прежде чем найти diff . Вот так:

 In [25]: a = np.asanyarray(s) In [26]: a Out[26]: 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 In [27]: np.diff(a) Out[27]: 0 NaN 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 NaN 
  • Поиск нескольких строк в пандах без предопределения количества строк для использования
  • Как функции numpy работают внутри объектов панды?
  • Установка значений DataFrame с расширением
  • Pandas (Python) - Обновить столбец кадра данных из другого с условиями
  • Python: итерация над столбцом фрейма данных, проверка значения условия, хранящегося в массиве, и получение значений в списке
  • Переименование столбцов, содержащих значения десятичной ячейки
  • Сброс cumsum, если превышение (python)
  • Создайте манекены из столбца с несколькими значениями в пандах
  • Python - лучший язык программирования в мире.