pandas读取csv文件数据并对数据分类使用matplotlib画出折线图

it2023-10-05  78

题目:请根据省份中每个市区的录取人数,并绘制折线图

csv数据图如下所示:

代码如下所示:

import pandas as pd import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = 'simhei' plt.rcParams['axes.unicode_minus']=False data = pd.read_csv('student.csv') # 分组函数,按照行索引进行分组,把省份相等的字段分组在一起 # obj.groupby([‘key1’,’key1’]),把key1和key2相等的字段分组在一起 data = data.groupby('省份') # 必须遍历拿数据,且里面只有两组数据,分组的索引和所有的数据 for i,info in data: if i == '湖北': sq = info['市区'] rs = info['人数'] plt.plot(np.arange(len(sq)),rs,'-*') plt.xticks(np.arange(len(sq)),sq) plt.show() elif i == '湖南': sq = info['市区'] rs = info['人数'] plt.plot(np.arange(len(sq)),rs,'-*') plt.xticks(np.arange(len(sq)),sq) plt.show() elif i == '西藏': sq = info['市区'] rs = info['人数'] plt.plot(np.arange(len(sq)),rs,'-*') plt.xticks(np.arange(len(sq)),sq) plt.show() elif i == '贵州': sq = info['市区'] rs = info['人数'] plt.plot(np.arange(len(sq)),rs,'-*') plt.xticks(np.arange(len(sq)),sq) plt.show() else: pass

 

效果图如下所示:

最新回复(0)