Pandas groupby (df.index) с индексами различного размера - PullRequest
0 голосов
/ 22 сентября 2019

У меня есть массив данных dfs = [df0, df1, ...].У каждого из них есть столбец date различного размера (некоторые date могут быть в одном кадре данных, но не в другом).

Я пытаюсь сделать следующее:

pd.concat(dfs).groupby("date", as_index=False).sum()

Но с датой, которая больше не является столбцом, а индексом (dfs = [df.set_index("date") for df in dfs]).

Я видел, что вы можете передать df.index в groupby (.groupby(df.index)), но df.index может не включать все даты.

Как я могу это сделать?

Цель здесь состоит в том, чтобы позвонить .sum() на groupby, поэтому я не привязан к использованию groupby или concat есть ли альтернативный способ сделать это.

1 Ответ

1 голос
/ 22 сентября 2019

Если я могу понять, может быть, вы хотите что-то вроде этого:

df = pd.concat([dfs])
df.groupby(df.index).sum()

Вот небольшой пример:

tmp1 = pd.DataFrame({'date':['2019-09-01','2019-09-02','2019-09-03'],'value':[1,1,1]}).set_index('date')
tmp2 = pd.DataFrame({'date':['2019-09-01','2019-09-02','2019-09-04','2019-09-05'],'value':[2,2,2,2]}).set_index('date')
df = pd.concat([tmp1,tmp2])
df.groupby(df.index).sum()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...