Я новичок в pandas
. Я читаю файл csv
и пытаюсь получить вывод как dictionary
.
import pandas as pd
df = pd.read_csv('source.csv')
my_projects = ['WORLD', 'P&G', 'AVR', 'ABCD', 'Channel', 'Migration']
filtered_projects = df[(df['area'] == 'MY PROJECTS') & (df['name'].isin(my_projects))]
filtered_projects['count'] = 1
total_of_each_error = filtered_projects.groupby(['month','name','errors']).sum().reset_index()
total_of_each_error['month'] = pd.to_datetime(total_of_each_error['month']).dt.strftime('%B')
Список вещей, которые я пытаюсь сосчитать: ['Big', 'Small', 'Monitoring', 'Improvement']
Фрейм данных total_of_each_error
имеет:
month name errors count
0 February ABCD Big 1
1 February ABCD Monitoring 3
2 February WORLD Small 1
3 February Channel Big 2
4 February Channel Small 1
5 February Channel Monitoring 1
6 February AVR Monitoring 1
7 April WORLD Monitoring 2
8 May Migration Big 1
9 May Migration Monitoring 2
10 June P&G Small 1
11 June P&G Monitoring 1
12 June ABCD Monitoring 1
13 June WORLD Improvement 1
14 July P&G Monitoring 1
15 July ABCD Small 1
16 July ABCD Monitoring 1
Если в месяце нет конкретной ошибки, необходимо заполнить ноль. Вывод, который я пытаюсь получить, это dictionary
:
data = {'WORLD': {'categories': ['February', 'April', 'May', 'June', 'July'],
'series': [{
'name': 'Big Issue',
'data': [0, 0, 0, 0, 0] # Number of Bigs in those months
}, {
'name': 'Small Issue',
'data': [1, 0, 0, 0, 0] # Number of Smalls in those months
}, {
'name': 'Monitoring',
'data': [0, 2, 0, 0, 0] # Number of Monitorings in those months
}, {
'name': 'Improvement',
'data': [0, 0, 0, 1, 0] # Number of Improvements in those months
}]
},
'P&G': {'categories': ['February', 'April', 'May', 'June', 'July'],
'series': [{
'name': 'Big Issue',
'data': [0, 0, 0, 0, 0]
}, {
'name': 'Small Issue',
'data': [0, 0, 0, 1, 0]
}, {
'name': 'Monitoring',
'data': [0, 2, 0, 0, 0]
}, {
'name': 'Improvement',
'data': [0, 0, 0, 1, 0]
}]
}
}
Ожидаемый результат, показанный выше, предназначен только для WORLD
и P&G
. Словарь будет дополнен остальными элементами в my_projects
. Порядок месяцев и данные должны быть сохранены.
Редактировать : изменено неправильное значение в name