想要以年份进行分组,求出每年价格的平均价格,并画出折线图,该怎么写
2条回答 默认 最新
关注 参考角度2 的代码 , 如有帮助给个采纳谢谢
import pandas as pd import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # 创建字体对象 font = FontProperties(fname='PingFang Bold.ttf') # 读取csv文件并存储为DataFrame格式 data = pd.read_csv('大学生消费调查.csv', sep=',') # print(data) # 角度一:根据学院分析数据 college_data = data.groupby(['学院']).sum() # print(college_data) # 角度二:根据年级分析数据 # 将学年从文字表示映射为数字表示 data['学年'] = data['学年'].map({'大一': 1, '大二': 2, '大三': 3, '大四': 4}) # print(data['学年']) # 可视化方式一:绘制不同学院学生月消费总额比较的直方图 college_data.plot(kind='bar', y=['月消费总额(元)']) # plt.title('各学院学生月消费总额比较', fontproperties=font) plt.xlabel('学院', fontproperties=font) plt.xticks(range(len(college_data.index)), college_data.index, fontproperties=font) plt.ylabel('月消费总额(元)', fontproperties=font) # 设置图例字体 plt.legend(prop=font) plt.show() # 可视化方式二:绘制不同年级学生各项支出平均值的折线图 grade_data = data.groupby(['学年'])[['学费(元)', '住宿费(元)', '伙食费(元)', '交通费(元)', '娱乐费(元)']].mean() print(grade_data) # 将学年从数字表示还原为文字表示 grade_data.index = grade_data.index.map({1: '大一', 2: '大二', 3: '大三', 4: '大四'}) # 可视化方式二:绘制不同年级学生各项支出平均值的折线图 grade_data.plot(kind='line', y=['学费(元)', '住宿费(元)', '伙食费(元)', '交通费(元)', '娱乐费(元)']) plt.title('不同年级学生各项支出平均值比较', fontproperties=font) plt.xlabel('学年', fontproperties=font) plt.xticks(range(len(grade_data.index)), grade_data.index, fontproperties=font) plt.ylabel('金额(元)', fontproperties=font) plt.legend(prop=font) plt.show()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 c++ gmssl sm2验签demo
- ¥15 关于模的完全剩余系(关键词-数学方法)
- ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
- ¥30 模拟电路 logisim
- ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
- ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
- ¥15 安装quartus II18.1时弹出此error,怎么解决?
- ¥15 keil官网下载psn序列号在哪
- ¥15 想用adb命令做一个通话软件,播放录音
- ¥30 Pytorch深度学习服务器跑不通问题解决?