у меня есть dataframe («кадр»), на котором я хочу объединить по стране и дата:панды dataframe GroupBy: сумма/кол-только положительных чисел
aggregated=pd.DataFrame(frame.groupby(['Country','Date']).CaseID.count())
aggregated["Total duration"]=frame.groupby(['Country','Date']).Hours.sum()
aggregated["Mean duration"]=frame.groupby(['Country','Date']).Hours.mean()
Я хочу, чтобы вычислить вышеуказанные цифры (всего продолжительность, средняя продолжительность и т. д.) только для положительных чисел «Часы» в «кадре». Как я могу это сделать?
Спасибо!
Образец "кадр"
import pandas as pd
Line1 = {"Country": "USA", "Date":"01 jan", "Hours":4}
Line2 = {"Country": "USA", "Date":"01 jan", "Hours":3}
Line3 = {"Country": "USA", "Date":"01 jan", "Hours":-999}
Line4 = {"Country": "Japan", "Date":"01 jan", "Hours":3}
pd.DataFrame([Line1,Line2,Line3,Line4])
просьба предоставить образец dataframe и ожидаемый результат – alko
"кадр" выглядит следующим образом: Дата, страна, Часы 01/01/2012, США, 4 01/01/2012, США, 3 01/01/2012, USA, -999 01/01/2012, Япония, 3 Выход «агрегированный» должен выглядеть следующим образом: Дата, страна, граф, количество_положителей, общая продолжительность, средняя продолжительность 01/01/2012, США, 3,2,7,3,5 01/01/2012, Япония, 1,1,3,3 –
Обратите внимание: '' предоставить dataframe'' означает некоторый действительный код python для его восстановления. – alko