Код: Выделить всё
sum_columns = ['p', 'q', 'r', 'Ax', 'Ay', 'Az']
avg_columns = ['Bx', 'By', 'Bz', 'G2 C03']
agg_map = {col: 'sum' for col in sum_columns}
agg_map.update({col: 'mean' for col in avg_columns})
df = df.groupby(['MAC C01', 'MAC C02', 'MAC C03'], as_index=False).agg(agg_map)
Код: Выделить всё
p q r Ax Ay Az Bx By Bz G2 C03 MAC C01 MAC C02 MAC C03
0 0.0 0.0 0.1 0 0 0 0 0 0 0.0 0.00000 0.00000 0.0
1 0.0 0.1 0.1 0 0 0 0 0 0 0.0 0.00000 0.00000 0.0
2 0.0 0.1 0.0 0 0 0 0 0 0 0.0 0.00000 0.00000 0.0
3 0.0 0.0 0.1 0 0 0 0 0 0 0.0 0.00000 0.00000 0.0
4 0.0 0.0 0.0 -34 2 251 -23 78 45 0.0 19.12377 73.07937 0.0
... ... ... ... .. .. ... .. .. .. ... ... ... ...
14676 0.3 -0.3 -1.0 -39 -9 250 66 -23 49 0.0 19.12376 73.07938 0.0
14677 0.9 0.3 -1.0 -39 -9 250 66 -23 49 0.0 19.12376 73.07938 0.0
14678 0.5 0.1 2.5 -39 -9 250 66 -23 49 0.0 19.12376 73.07938 0.0
14679 -0.2 -0.1 1.8 -39 -9 250 66 -23 49 0.0 19.12376 73.07938 0.0
14680 -0.9 0.2 -2.3 -39 -9 250 66 -23 49 0.0 19.12376 73.07938 0.0
[14681 rows x 13 columns]
Код: Выделить всё
MAC C01 MAC C02 MAC C03 p q r Ax Ay Az Bx By Bz G2 C03
0 0.00000 0.00000 0.0 0.000000e+00 0.2 0.3 0 0 0 0.0 0.0 0.0 0.0
1 19.12135 73.07947 75.0 1.330000e+01 6.4 -31.9 -140 0 1230 -4.0 -79.0 26.0 75.0
2 19.12135 73.07959 75.8 1.160000e+01 8.3 -47.0 -248 8 2080 1.0 -78.0 28.0 75.0
3 19.12135 73.07968 76.6 1.030000e+01 5.1 -32.9 -174 6 1560 6.0 -77.0 29.0 76.0
4 19.12136 73.07938 74.6 2.260000e+01 14.9 -56.7 -224 0 2144 -10.0 -78.0 23.0 74.0
... ... ... ... ... ... ... ... .. ... ... ... ... ...
1452 19.12607 73.07969 184.8 8.881784e-16 -18.9 -27.7 216 -24 2240 8.0 74.0 47.0 184.0
1453 19.12608 73.07933 178.4 -1.600000e+00 15.2 -17.8 408 -16 2080 1.0 75.0 47.0 178.0
1454 19.12608 73.07941 180.1 -4.100000e+00 8.6 -19.0 328 8 1656 3.0 76.0 46.0 180.0
1455 19.12608 73.07949 181.6 -3.500000e+00 -10.8 -22.5 312 -32 1768 5.0 75.0 46.0 181.0
1456 19.12608 73.07960 183.2 2.600000e+00 -17.1 -23.9 296 -8 2296 6.0 75.0 47.0 183.0
[1457 rows x 13 columns]
Я думаю, что делает группа по, сохраняет уникальные значения для группировки столбцов и объединяет другие столбцы, используя указанную функцию. Поскольку он «сохраняет уникальные значения» для группировки по столбцам, я считаю, что «первые ненулевые» значения группы по столбцу должны быть одинаковыми, и, аналогично, последние значения группы по столбцу также должны быть одинаковыми. Но здесь, похоже, это не так.
Что мне не хватает?
Подробнее здесь: https://stackoverflow.com/questions/793 ... as-datafra