Pandas groupby суммарная сумма

Я хотел бы добавить столбец суммарной суммы в свой кадр данных Pandas, чтобы:

Jack | Monday | 10 Jack | Tuesday | 20 Jack | Tuesday | 10 Jack | Wednesday | 50 Jill | Monday | 40 Jill Wednesday | 110 

будет выглядеть так:

 Jack | Monday | 10 | 10 Jack | Tuesday | 30 | 40 Jack | Wednesday | 50 | 100 Jill | Monday | 40 | 40 Jill | Wednesday | 40 | 150 

Я пробовал различные комбо df.groupby и df.agg(lambda x: cumsum(x)) безрезультатно. Заранее спасибо!

4 Solutions collect form web for “Pandas groupby суммарная сумма”

Это должно сделать это, нужно groupby() дважды.

 In [52]: print df name day no 0 Jack Monday 10 1 Jack Tuesday 20 2 Jack Tuesday 10 3 Jack Wednesday 50 4 Jill Monday 40 5 Jill Wednesday 110 In [53]: print df.groupby(by=['name','day']).sum().groupby(level=[0]).cumsum() no name day Jack Monday 10 Tuesday 40 Wednesday 90 Jill Monday 40 Wednesday 150 

Обратите внимание: результирующий DataFrame имеет MultiIndex .

Это работает в пандах 0.16.2

 In[23]: print df name day no 0 Jack Monday 10 1 Jack Tuesday 20 2 Jack Tuesday 10 3 Jack Wednesday 50 4 Jill Monday 40 5 Jill Wednesday 110 In[24]: df['no_cumulative'] = df.groupby(['name'])['no'].apply(lambda x: x.cumsum()) In[25]: print df name day no no_cumulative 0 Jack Monday 10 10 1 Jack Tuesday 20 30 2 Jack Tuesday 10 40 3 Jack Wednesday 50 90 4 Jill Monday 40 40 5 Jill Wednesday 110 150 

вы должны использовать

 df['cum_no'] = df.no.cumsum() 

http://pandas.pydata.org/pandas-docs/version/0.19.2/generated/pandas.DataFrame.cumsum.html

Вместо df.groupby(by=['name','day']).sum().groupby(level=[0]).cumsum() (см. Выше) вы также можете сделать df.set_index(['name', 'day']).groupby(level=0, as_index=False).cumsum()

  • df.groupby(by=['name','day']).sum() фактически просто перемещает оба столбца в MultiIndex
  • as_index=False означает, что вам не нужно вызывать reset_index после этого
  • Присвоение нескольких значений столбцам pandos pandas DataFrame в одной строке
  • Невозможно преобразовать даты в datetime64
  • Быстрый способ увидеть общие наблюдения для записей корреляционной матрицы Python Pandas
  • pandas read_hdf с ограничением условия «где»?
  • Python Pandas Создание нескольких данных из списка
  • HTML не корректно отображается с Canopy 1.7.1.3323 / IPython 4.1.2
  • Более быстрый способ удаления неиспользуемых категорий в пандах?
  • Повторная выборка данных по часам и дате
  •  
    Interesting Posts for Van-Lav

    Как удалить строку из pandas dataframe в зависимости от длины значений столбца?

    Как я могу однозначно сократить список строк так, чтобы они имели не более x символов

    python dynamodb получает 1000 записей

    DeserializationError: объект «NoneType» не имеет атрибута «_meta», используя Django loaddata

    Преобразование столбца float в Spark Dataframe в VectorUDT

    Python PLY ноль или больше вхождений элемента синтаксического анализа

    как получить кадры из видео параллельно с использованием cv2 и многопроцессорности в python

    Что такое Pythonic способ объединить две последовательности в словарь?

    Команда Subprocess не возвращает

    UnicodeEncodeError: кодек ascii не может кодировать символы в позиции 0-5: порядковый номер не в диапазоне (128)

    Как вывести список с разделителями-запятыми в jinja python template?

    Как установить границы в pygame?

    Поиск хорошей ссылки на нейронные сети

    Pycharm не может изменить интерпретатор от python 2.7 до 3.4

    Поиск нескольких строк в пандах без предопределения количества строк для использования

    Python - лучший язык программирования в мире.