Как применить уникальную функцию и среднюю функцию после группировки данных? - PullRequest
0 голосов
/ 29 мая 2019

Я работаю над GPS-траекториями.

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

"Vehicle ID","Frame ID","Total Frames","Global Time","Local X","Local Y","Global X","Global Y","V_Len","V_Width","V_Class","V_Vel","V_Acc","Lane_ID","Pre_Veh","Fol_Veh","Spacing","Headway"
3033,9064,633,1118847885300,42.016,377.256,6451360.093,1873080.530,19.5,8.5,2,27.90,4.29,4,3022,0,93.16,3.34
3033,9065,633,1118847885400,42.060,380.052,6451362.114,1873078.608,19.5,8.5,2,28.43,6.63,4,3022,0,93.87,3.30
3033,9066,633,1118847885500,42.122,382.924,6451364.187,1873076.613,19.5,8.5,2,29.07,6.89,4,3022,0,94.49,3.25
3033,9067,633,1118847885600,42.200,385.882,6451366.307,1873074.553,19.5,8.5,2,29.62,4.41,4,3022,0,95.04,3.21
3033,9068,633,1118847885700,42.265,388.885,6451368.490,1873072.453,19.5,8.5,2,29.93,1.57,4,3022,0,95.57,3.19


df.sort_values(by=["Global Time"])
df["US Time"]=pd.to_datetime(df["Global Time"], unit='ms').dt.tz_localize('UTC' ).dt.tz_convert('America/Los_Angeles')

#Converting gps millisecond TS to US Local Time date format

#sorting

grouped=df.groupby('V_Class')

#find mean of all vehicles in each class
print( grouped['V_Vel'].agg([np.mean,np.std]))

for index, row in df.iterrows(): 
    print (row["Vehicle ID"], row["V_Class"])

Фактическая выработка

V_Class     mean        std       
1        40.487673  14.647576
2        37.376317  14.940034
3        40.953483  11.214995

Ожидаемый результат

Vehicle ID V_Class     mean        std  
3033           2           32.4       12.4
125            1           41.3       9.2
.
likewise

1 Ответ

0 голосов
/ 29 мая 2019

Если вы хотите получить среднее значение для каждого транспортного средства, просто сгруппируйте по транспортному средству:

 df.groupby(['Vehicle ID','V_Class'])['V_Vel'].agg([np.mean, np.std])

оно должно дать (с вашими данными выборки):

                     mean       std
Vehicle ID V_Class                 
3033       2        28.99  0.834955
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...