Как отсортировать два столбца в кадре данных pandas и нарисовать тепловую карту из полученного кадра данных?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как отсортировать два столбца в кадре данных pandas и нарисовать тепловую карту из полученного кадра данных?

Сообщение Anonymous »

Я пытаюсь нарисовать тепловую карту из кадра данных ниже:



методы
sub_1
sub_2
sub_3
sub_4
.....
расстояние
count_0




m1
0
2
2
1
.....
0
20


м2
1
2
2
1
.....
7
22< /td>


м3
1
2
2
1
.....
26
12


м4
< td>0
2
2
0
.....
21
10


m5
0
2
2
0
.....
17
5



в этом кадре данных методы — это применяемые методы кластеризации, sub_*< /code> — это клиенты, а связанные значения — это метки, назначенные каждым методом, расстояние — это то, насколько далеко каждый метод от общего назначения меток (от результата ансамбля, см. прилагаемый рисунок), count_0 показывает, сколько клиентов назначено в кластере 0.
Теперь я хочу отсортировать фрейм данных, используя столбцы distance и count_0, и нарисовать тепловую карту. Следующий код, который я попробовал, генерирует тепловую карту, но только с одним ключом, то есть расстоянием. При сортировке по двум ключам я хочу, чтобы весь красный цвет вместе, белый цвет вместе и черный цвет вместе в тепловой карте (см. прилагаемый рисунок).

Код: Выделить всё

fig, ax = plt.subplots(figsize=(40,6))
df = df.sort_values(by=['distance', 'count_0'], ascending=[True, True])

svm = sns.heatmap(df.iloc[:,0:546], ax=ax, xticklabels=False, yticklabels=True, linewidths=0.4, annot_kws={"size": 16}, cbar_kws={"shrink": 0.3})

ax.set_xlabel("Customer IDs", fontsize=30)
ax.hlines(y = 1, xmin = 0, xmax = 550, colors = 'white', lw = 10)

for i in range(2,10):
ax.hlines(y = i, xmin = 0, xmax = 550, colors = 'white', lw = 4)

figure = svm.get_figure()
ax.tick_params(axis='both', which='major', labelsize=30, labelbottom = False, bottom=False, top = False, labeltop=True)
plt.xticks(rotation=90)
ax.tick_params(labelsize=30)
plt.show()
Сгенерируется следующий вывод:
Изображение
< /п>

Подробнее здесь: https://stackoverflow.com/questions/790 ... -resulting
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как отсортировать два столбца в кадре данных pandas и нарисовать тепловую карту из полученного кадра данных?
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Лучший способ нарисовать тепловую карту с помощью SFML
    Anonymous » » в форуме C++
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как я могу создать тепловую карту с неровным размером сетки из набора данных Pandas?
    Anonymous » » в форуме Python
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous
  • Как я могу изменить тепловую карту Seaborn в Python?
    Гость » » в форуме Python
    0 Ответы
    50 Просмотры
    Последнее сообщение Гость
  • Как я могу изменить тепловую карту Seaborn?
    Гость » » в форуме Python
    0 Ответы
    32 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»