首页 > 解决方案 > 在 python 中绘图时遇到问题

问题描述

我正在使用一个包含奥运会参与者的数据框,我想绘制不同年份的女性参与者数量,看看随着时间的推移,女性参与者的数量是否有所增加,问题是我在绘制它,因为我在使用数据框和熊猫时并没有真正管理自己

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import plotly
import plotly.express as px

mpl.rcParams['agg.path.chunksize'] = 10000
df = pd.read_csv("athlete_events.csv")

z= (df['Sex'] == 'F')
plt.plot(df['Year'],z, color='red',marker='o')
plt.xlabel('Year',fontsize=14)
plt.ylabel('Females per year', fontsize=14)
plt.grid(True)
plt.show()
#df.plot(x= 'Years', y= z ,kind='hist',figsize[10,10], fontsize=15)

这是我的第一次尝试,显然没有奏效,因为它不可能那么容易,但我真的不知道要采取什么步骤,因为我以前没有做过这样的事情

标签: pythonpandasmatplotlib

解决方案


我相信数据框的过滤可能是问题所在,我们将首先仅过滤Sex == 'F',按年份分组并获得count()每年的女性人数。请尝试以下方法:

data = df[df['Sex'] == 'F'].groupby('Year')['Sex'].count()
plt.plot(data.index,data['Sex'], color='red',marker='o')
plt.xlabel('Year',fontsize=14)
plt.ylabel('Females per year', fontsize=14)
plt.grid(True)
plt.show()

推荐阅读