Ошибка диаграммы рассеяния : «x и y должны быть одинакового размера», но они имеют одинаковый размер

#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. Большое спасибо