Проблемы с поворотом информационного кадра при создании графика HeatMap с Seaborn - PullRequest
0 голосов
/ 05 октября 2019

Я пытался создать тепловую карту с морским рожком. Фрейм данных, который я использую: https://raw.githubusercontent.com/resbaz/r-novice-gapminder-files/master/data/gapminder-FiveYearData.csv

Набор данных имеет 5 столбцов, а именно: страна, год, поп, континент, lifeExp и gdpPercap. Я хочу создать фрейм данных сводной таблицы с указанием года по осям X, континента по осям Y и LifeExp, заполненного внутри ячеек, а затем нанести его на тепловую карту.

Первое, что я сделал, это повернул фрейм данных с помощью кодов

df1 = pd.read_csv('https://raw.githubusercontent.com/resbaz/r-novice-gapminder-files/master/data/gapminder-FiveYearData.csv')
df2 = df1.pivot('year','continent','lifeExp')

, но получил ошибку.

Итак, я попытался изменить свои коды на:

df = pd.read_csv('https://raw.githubusercontent.com/resbaz/r-novice-gapminder-files/master/data/gapminder-FiveYearData.csv')
print(df.head())
df2 = df.pivot_table(values= 'lifeExp', index=['year', 'continent'])
print(df2)

и вывод df2 выглядит следующим образом

             lifeExp

год континент
1952 Африка 39.135500 Америка 53.279840 Азия 46.314394 Европа 64.408500 Океания 69.255000 1957 Африка 41.266346 Америка 55.960280 Азия 49.318544 Европа 66.703067 Океания 70.295000 .....

и когдаЯ пытался нанести его на морского рожка

sns.heatmap(df2)

. LifeExp не заполняет тепловую карту.

Как исправить?

1 Ответ

1 голос
/ 05 октября 2019

- Привет, ebuzz168,

Мне кажется, что вы указали и год, и континент как индекс, а не столбец. Глядя на документацию , вызов функции должен выглядеть следующим образом:

table = df.pivot_table(values='lifeExp', index='year', columns='continent', aggfunc=np.mean)
sns.heatmap(table)
...