#python #matplotlib #scatter-plot
#питон #matplotlib #точечная диаграмма
Вопрос:
Я хотел бы сделать диаграмму рассеяния с фреймом данных :»df_death_mois1″. Но это не работает. Сообщение об ошибке : «x и y должны быть одинакового размера». Вы не могли бы мне помочь?
import pandas as pd import matplotlib.pyplot as plt members = pd.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-22/members.csv") expeditions = pd.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-22/expeditions.csv") expeditions['highpoint_date'] = pd.to_datetime(expeditions['highpoint_date']) lesmois = expeditions['highpoint_date'].dt.month expeditions["mois"] = lesmois expeditions df_members_mois = pd.merge(members,expeditions[['expedition_id','mois']], on='expedition_id', how='inner') df_death_mois = df_members_mois[df_members_mois["death_cause"]=="Avalanche"] df_death_mois df_death_mois1 = df_death_mois.groupby("mois")['death_cause'].count() df_death_mois1 = df_death_mois1.to_frame() df_death_mois1 plt.scatter(x="mois", y = "death_cause", data = df_death_mois1) plt.title('scatterplot') plt.xlabel('x') plt.ylabel('y') plt.show()
Комментарии:
1. Измените это
plt.scatter(x="mois", y = "death_cause", data = df_death_mois1)
наdf_death_mois1.plot.scatter(x='mois', y='death_cause')
.2. Это не работает
3. Ключевая ошибка: «моис»
4. Это параметр «индекс, удалить x».
5. Там нет колонки под названием «моис»
expeditions
. На чем именно вы пытаетесь объединиться?
Ответ №1:
reset_index
а потом позвони plot.scatter
:
gt;gt;gt; df_death_mois1.reset_index().plot.scatter(x="mois", y="death_cause")
С matplotlib.pyplot
помощью вы можете использовать:
gt;gt;gt; plt.scatter(x=df_death_mois1.index, y=df_death_mois1["death_cause"])
Комментарии:
1. Большое спасибо