2016-04-04 6 views
0

У меня есть список объектов, содержащие несколько записей, каждый из которых содержит следующее: «название парка», «посетителей», «Часы обслуживания», «событие»Объединение нескольких записей списка в одну запись

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

Текущий список Пример:
park1, 200, 25, 4
park1, 24, 2, 10
PARK2, 12, 45, 2
PARK2, 100, 23, 5
park3, 2, 10, 5

Желаемая Список после сортировки:
park1, 224, 27, 14
PARK2, 112 , 68, 7
etc ...

Спасибо!

ответ

1

Это легко сделать пандами. Создайте переменную Pandas DataFrame из ваших данных списка, и, допустим, ей присваивается переменная foo.

print(foo) # print out the following. 

    ParkName Visitors MaintenanceHours Events 
0 park1  200    25  4 
1 park1  24     2  10 
2 park2  12    45  2 
3 park2  100    23  5 
4 park3   2     5  5 

bar = foo.groupby('ParkName').sum() 
print(bar) 

      Visitors MaintenanceHours Events 
ParkName          
park1   224    27  14 
park2   112    68  7 
park3   2     5  5 
Смежные вопросы