#python #pandas #group-by
Вопрос:
Я был бы признателен за любые отзывы о том, почему это может происходить:
У меня есть набор данных о почасовой скорости, содержащий 24 столбца данных о скорости (за 24 часа в сутки) для многих дорог (поэтому данные имеют размер 90000, 24). Затем я выполнил анализ kmeans данных, который позволил мне добавить в набор данных еще один столбец — «категории kmeans». Теперь в нем 25 столбцов — 24 столбца данных о почасовой скорости и 1 столбец данных о категориях (скажем, с 8 уникальными значениями 0, 1, 2, 3, 4, 5, 6, 7). Затем я хотел вычислить для каждой категории kmeans среднюю почасовую скорость, чтобы в итоге получить набор данных из 8 строк и 24 столбцов, каждая строка которых относится к категории kmeans. Однако с приведенными ниже кодами я получаю только 5 строк и 24 столбца данных. 5 строк предназначены для 0-4, и я ожидал получить 8 строк для 0-7. Что могло пойти не так???
код:
speed_kmeans= speed.groupby(['kmeans']).mean()
Комментарии:
1. Вы уверены, что у вас есть 8 категорий? что это дает
speed['kmeans'].nunique()
? если 8, то что это даетspeed_kmeans.shape
?2. Да, я уверен, что у меня есть 8 категорий. Я сделал value_counts, который показал распределение точек данных по 8 различным категориям k-средних
3. Таким образом, нет очевидной причины , по которой использование
groupby
исключило бы некоторые категории из вычисления. если вы не приведете воспроизводимый пример, мы можем только догадываться. еще раз, что это даетspeed_kmeans.shape
? вы говорите, что получаете только 5 строк , что звучит для меня так, как вы видите только первые 5 строк с помощью методаhead
, например, или что некоторые параметры отображения установлены на максимум 5 строк, просто пытаясь убедиться, что это не проблема с отображением