numpy sort weirdly при сортировке по pandas DataFrame
Когда я делаю data[genres].sum()
я получаю следующий результат
Action 1891 Adult 9 Adventure 1313 Animation 314 Biography 394 Comedy 3922 Crime 1867 Drama 5697 Family 754 Fantasy 916 Film-Noir 40 History 358 Horror 1215 Music 371 Musical 260 Mystery 1009 News 1 Reality-TV 1 Romance 2441 Sci-Fi 897 Sport 288 Thriller 2832 War 512 Western 235 dtype: int64
Но когда я пытаюсь сортировать сумму, используя np.sort
genre_count = np.sort(data[genres].sum())[::-1] pd.DataFrame({'Genre Count': genre_count})`
Я получаю следующий результат:
`Out[19]: Genre Count 0 5697 1 3922 2 2832 3 2441 4 1891 5 1867 6 1313 7 1215 8 1009 9 916 10 897 11 754 12 512 13 394 14 371 15 358 16 314 17 288 18 260 19 235 20 40 21 9 22 1 23 1
Ожидаемый результат должен быть следующим:
Genre Count Drama 5697 Comedy 3922 Thriller 2832 Romance 2441 Action 1891 Crime 1867 Adventure 1313 Horror 1215 Mystery 1009 Fantasy 916 Sci-Fi 897 Family 754 War 512 Biography 394 Music 371 History 358 Animation 314 Sport 288 Musical 260 Western 235 Film-Noir 40 Adult 9 News 1 Reality-TV 1
Кажется, что numpy игнорирует колонку жанра.
Может ли кто-нибудь помочь мне понять, где я ошибаюсь?
- Сортировка списка кортежей в зависимости от двух элементов
- Многоиндексная сортировка в пандах
- из списка целых чисел, получить номер, ближайший к данному значению
- Сортировка CSV по дате в Python
- Как получить только список из 5 и более нижних 5 из списка «Вложенный список»?
data[genres].sum()
возвращает серию. Столбец жанра фактически не является столбцом – это индекс.
np.sort
просто смотрит на значения DataFrame или Series, а не на индекс, и возвращает новый массив NumPy со значениями отсортированных data[genres].sum()
. Информация индекса теряется.
Способ сортировки data[genres].sum()
и сохранить индексную информацию должен был бы сделать что-то вроде:
genre_count = data[genres].sum() genre_count.sort(ascending=False) # in-place sort of genre_count, high to low
Затем вы можете повернуть отсортированную серию genre_count
обратно в DataFrame, если хотите:
pd.DataFrame({'Genre Count': genre_count})
- Можно ли использовать Django 1.2 в Google App Engine?
- Рисование многоугольника с n числом сторон в Python 3.2
- Сортировка словаря в python, значение в порядке убывания, если конфликт затем по ключу
- Порядок сортировки списков в многомерном массиве в Python
- python: нумерация каждой записи, соответствующей виду
- сортировать список кортежей по алфавиту и по значению
- python – сложная сортировка вложенных данных
- Реализация Quick Sort для Python пропускает повторяющиеся элементы
- Как отсортировать список взаимосвязанных кортежей?
- Как сортировать данные в алфавитном порядке в файле csv, созданном в python?
- сортировка по регистро-регистровому регистру без уменьшения результата?