Мне нужно повернуть / изменить форму данных длинной формы двумя способами: 1) добавление столбцов даты (End-of_month) и заполнение числового значения (всего) 2) добавление столбцов даты (End-of_month) и заполнение значения даты (день-месяца, который достиг значения 'total' в предыдущем пивоте)
Я могу сделать 1 с:
data = pd.DataFrame({'date': ['1-12-2016', '1-23-2016', '2-23-2016', '2-1-2016', '3-4-2016'],
'EOM': ['1-31-2016', '1-31-2016', '2-28-2016', '2-28-2016', '3-31-2016'],
'country':['uk', 'usa', 'fr','fr','uk'],
'tr_code': [10, 21, 20, 10,12],
'TOTAL': [435, 367,891,1234,231]
})
data['EOM'] = pd.to_datetime(data['EOM'])
data['date'] = pd.to_datetime(data['date'])
data_total = data.pivot_table(values='TOTAL', index=['country','tr_code'], columns='EOM')
Out[73]:
EOM 2016-01-31 2016-02-28 2016-03-31
country tr_code
fr 10 NaN 1234.0 NaN
20 NaN 891.0 NaN
uk 10 435.0 NaN NaN
12 NaN NaN 231.0
usa 21 367.0 NaN NaN
Однако попытка изменить аргумент значения с помощью 'date' приводит к: DataError: Нет числовых типов для агрегирования
Я в основном хочу два df - один, который я выполнил, и другой в том же формате, но вместо значения 'TOTAL' - 'date', в которой было достигнуто это общее число.
Любая помощь с благодарностью.