Я создал диктофон, структурированный таким образом, что ключ - это отдел («ABC»), тогда дата (01.08) является ключом, а значения - {имя продукта (A), Единицы (0), Доход (0)}. Эта структура продолжается для нескольких отделов. См. Диктовую распечатку dict.Append dataframe to dict
'ABC': 01.08 \
A. Units 0
Revenue 0
B. Units 0
Revenue 0
C. Units 0
Revenue 0
D. Units 0
Revenue 0
Кроме того, я создал dataframe используя GroupBy и функцию агрегации (сумма), чтобы получить общее количество единиц и дохода в день на отдел (это объединение двух уровней, в отличие от трех в dict - date, department, product).
Распечатка ДФ, которая представляет собой совокупность ряда единиц и общего дохода, приводит к:
print df.ix['ABC']
Total Overall Units \
dates
2016-08-01 2
2016-08-02 0
2016-08-03 2
2016-08-04 1
2016-08-22 2
Total Overall Revenue \
dates
2016-08-01 20
2016-08-02 500
2016-08-03 39
2016-08-04 50
Сейчас я заканчивающиеся с двумя отдельными объектами, которые я хочу, чтобы объединить/добавить, так что общее единицы и общий доход будут добавлены к концу dict в правильном месте (т.е. сопоставлены с правильным департаментом и датой). В настоящее время я печатаю dict, а затем dataframe pd.to html
отдельно по 'department', поэтому я остаюсь с двумя отдельными таблицами. Они не только разделяются, но и таблица, созданная из df, также имеет один меньше столбцов, поскольку они сгруппированы по-разному.
'ABC':
01.08 | 02.08 | 03.08 | 04.08
A Total Units 0 0 0 0
Total Revenue 0 0 0 0
B Total Units 0 0 0 0
Total Revenue 0 0 0 0
C Total Units 0 0 0 0
Total Revenue 0 0 0 0
D Total Units 0 0 0 0
Total Revenue 0 0 0 0
Total Overall Units 0 0 0 0
Total Overall Revenue 0 0 0 0
- Могу ли я добавить dataframe в Словаре по 'название отдела'?
- Конечная цель - объединить эти два объекта данных в один единый объект данных или буквально выровнять объекты для удобства чтения.
Любые идеи?
@ Sophier Dane. Я вижу вашу мысль. Учитывая, что формат dict и dataframe, показанный в исходном сообщении, создаются из одного основного фрейма. Как бы вы тогда агрегировали общие единицы и доход в день на департамент и продукт, а затем только днем и депарацией? – OAK
Лучший ответ, вероятно, зависит от структуры исходного фрейма. Вы можете группировать по дням на разных уровнях, а затем объединять разные группы. Отсутствие того, что вы можете выполнять итерацию по определенным спискам столбцов. df ['Revenue_col'] = 0 для col в income_columns_to_aggregate: df ['Revenue_col'] + = df [col] –