Агрегация вложенных DataFrames, определяемых наборами индексов без циклаPython

Программы на Python
Anonymous
Агрегация вложенных DataFrames, определяемых наборами индексов без цикла

Сообщение Anonymous »

Предположим, у меня есть DataFrame Pandas, я приведу простой пример:

Код: Выделить всё

import pandas as pd
df = pd.DataFrame(columns=["A", "B"], data = [(1, 2), (4, 5), (7, 8), (10, 11)])
У меня есть набор индексов, давайте сделаем его простым и случайным:

Код: Выделить всё

inds = [(0, 1, 3), (0, 1, 2), (1, 2, 3)]
Я хочу агрегировать данные по этим индексам следующим образом, например, если операция агрегирования является средним значением, которое я бы получил:



A
B



Код: Выделить всё

df.loc[inds[0], "A"].mean()

Код: Выделить всё

df.loc[inds[0], "B"].mean()

Код: Выделить всё

df.loc[inds[1], "A"].mean()

Код: Выделить всё

df.loc[inds[1], "B"].mean()

Код: Выделить всё

df.loc[inds[2], "A"].mean()

Код: Выделить всё

df.loc[inds[2], "B"].mean()


Есть ли способ это сделать в чистых пандах без написания цикла?
Это очень похоже на операцию типа df.groupby, а затем .agg, но я не нашел способ создания объекта GroupBy из пользовательского набора индексов.

Подробнее здесь: https://stackoverflow.com/questions/785 ... thout-loop

Вернуться в «Python»