Использование панд в CSV, как организовать время и числовые данные в многоуровневом индексе - PullRequest
1 голос
/ 07 июня 2019

Используя панд для записи в CSV, я хочу ежемесячные суммы дохода для каждого уникального источника.Месяц в формате datetime.

Я пробовал методы ресэмплинга и группового режима, но groupby игнорирует месяц, а ресэмплинг игнорирует источник.В настоящее время у меня есть многоуровневый индекс с Месяцем и Источником в качестве индексов.

   Month        Source   Income
2019-03-01        A        100
2019-03-05        B        50
2019-03-06        A        4
2019-03-22        C        60
2019-04-23        A        40
2019-04-24        A        100
2019-04-24        C        30
2019-06-1         C        100
2019-06-1         B        90
2019-06-8         B        20
2019-06-12        A        50
2019-06-27        C        50

Я могу группировать источник, который пренебрегает датой, или я могу выполнить повторную выборку для даты, которая пренебрегает источником.Я хочу ежемесячные суммы для каждого уникального источника.

1 Ответ

0 голосов
/ 07 июня 2019

В столбце Месяц указано значение Timestamp .Таким образом, вы можете отделить атрибут месяца этой отметки времени и затем применить метод groupby , например:

df.columns = ['Timestamp', 'Source', 'Income']

month_list = []
for i in range(len(df)):
    month_list.append(df.loc[i,'Timestamp'].month)

df['Month'] = month_list

df1 = df.groupby(['Month', 'Source']).sum()

Выходные данные должны быть такими:

               Income
Month   Source  
3          A    104
           B    50
           C    60
4          A    140
           C    30
6          A    50
           B    110
           C    150
...