Тепловая карта seaborn с пробелами

Я использую набор данных из kaggle и пытаюсь провести анализ данных.

Сначала я вычислил среднюю цену на группу марки и типа транспортного средства (Это мой средний код), а затем составил тепловую карту из этого среднего значения (Код тепловой карты) (Рисунок тепловой карты). Тем не менее, a заметил, что в наборе данных некоторых брендов указаны не все типы транспортных средств, например, alfa_romeo не показывает тип «автобус». Это становится проблемой, потому что это отсутствие отображается как пробел в тепловой карте.

Как я могу преодолеть эту ситуацию, например, поставив нулевое значение там, где есть пробел?

0
0
649
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте добавить аргумент fill_value = 0 к вашему df.pivot в вашем Heat map code. Это должно заменить значения NULL на 0 и предотвратить появление пробелов на тепловой карте.

Обновлено: Ошибка с моим решением, поскольку у pandas.DataFrame.pivot нет аргумента для fill_value. Гораздо лучшей альтернативой был бы pandas.pivot_table, который более или менее эквивалентен pandas.pivot, но с большей гибкостью. Смотрите здесь: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.pivot_table.html

Вот как нужно переписать вашу строку:

import pandas as pd
df2_pivot = pd.pivot_table(data = df2, 
                           index = 'brand', 
                           columns = 'vehicleType', 
                           values = 'avgPrice', 
                           fill_value = 0)

В качестве альтернативы вы также можете запустить:

df2_pivot = df2.pivot(index = 'brand', 
                      columns = 'vehicleType', 
                      values = 'avgPrice').fillna(0)

@ Элиас Родригес, если это решение решило вашу проблему, не могли бы вы принять его? Спасибо!

Dascienz 07.11.2018 22:32

Другие вопросы по теме