Задача
Я бы хотел выполнить groupby
на фрейме данных, чтобы результирующий фрейм данных содержал столбец, а его элементы представляли собой список параметра groupby
.
Пример
У меня есть кадр данных ship_cluster
с ShipID
, latitude
, longitude
и столбцом с именем cluster
.
In [4]: df = pd.DataFrame({"ShipID": [7, 7, 8, 9],
"latitude": [51.872842, 51.872874, 51.872794, 51.872946],
"longitude": [5.810379, 5.810729, 5.810754, 5.810548],
"cluster": [0, 1, 0, 0]})
print(df)
"ShipID" latitude longitude cluster
7 51.872842 5.810379 0
7 51.872874 5.810729 1
8 51.872794 5.810754 0
9 51.872946 5.810548 0
желаемый результат, который я хотел бы получить, был бы:
latitude longitude ShipID
cluster
0 51.872860 5.810560 [7, 8, 9]
1 51.872874 5.810729 [7]
Итак, по cluster
, я бы хотел видеть ShipID
в списке.Очевидно, что сначала я могу выполнить групповую работу:
ship_cluster[["latitude", "longitude", cluster"]].groupby("cluster").mean()
, но я не знаю ни следующего шага, ни упрощенного метода.Любая помощь?