百度怎么免费做网站,网站建设大作业有代码,太原注册公司在哪个网站申请,一个主做海贼王的网站Python数据分析与可视化实践#xff1a;收支日统计数据可视化的实现 Author#xff1a;萌狼蓝天 Date#xff1a;2023-5-7 数据读入与基本处理 上图是原始数据的一部分#xff0c;存放于excel中#xff0c;首先使用pd读入数据。读入数据后#xff0c;删除不是收入#x… Python数据分析与可视化实践收支日统计数据可视化的实现 Author萌狼蓝天 Date2023-5-7 数据读入与基本处理 上图是原始数据的一部分存放于excel中首先使用pd读入数据。读入数据后删除不是收入也不是支出的行。 # 读取数据
datas pd.read_excel(账单.xlsx, sheet_name0)
# 删除不是收入也不是支出
datas datas.drop(datas[datas[收/支]/].index) 现在剩下的数据要么是支出要么是收入。 折线图x轴标签准备 该折线图x轴显示日期因此需要从原数据中取出日期形成一个由不重复日期构成的列表(即这个列表中的日期不会重复) x datas[交易时间].unique() 这个数据太冗长了作为标签的话放不下因此需要处理一下因为都是2022年的所以取出月份和日就可以了。在此使用了正则表达式的方式处理。 rule r2022-(.*?)T00 # 正则规则
x_label [{}.format(re.findall(rule,str(i))[0]) for i in x]
x_label 到此图表的x轴准备完毕。 问为什么要在这里准备好x轴标签呢 答 我们可能今天只有收入没有支出 可能昨天没有支出只有收入 可能前天支出收入都没有。 这里准备的x轴标签包含了支出收入的日期(只要你一天中有支出或者有收入这一天都要被作为标签)。 接下来就是数据了。 收入与支出数据的准备 # 获取收入情况
data_shouru datas[datas[收/支]收入]
data_shouru_x data_shouru[交易时间].unique()
data_shouru_y data_shouru.groupby([交易时间]).sum()[金额(元)]
data_shouru_y data_shouru_x 是 有收入的日期 构成的列表data_shouru_y是日期对应金额构成的列表。 data_shouru_x的列表长度x 一天之中可能有多个收入要统计起来因此需要使用groupby结合sum()根据日期统计金额然后通过列名取出统计出来的金额 处理支出同理 # 获取支出情况
data_zhichu datas[datas[收/支]支出]
data_zhichu_x data_zhichu[交易时间].unique()
data_zhichu_y data_zhichu.groupby([交易时间]).sum()[金额(元)]
data_zhichu_y 画图 plt.figure(figsize(10,5),dpi100) # 创建画布
plt.grid(True, linestyle--, alpha0.5) # 添加网格
# 添加描述
plt.title(支出情况, fontsize24)
plt.xlabel(日期)
plt.ylabel(金额)
# 显示图例
plt.plot(data_shouru_x,data_shouru_y, colorr, linestyle-, label收入) # 绘画
plt.plot(data_zhichu_x, data_zhichu_y, colorb, linestyle--, label支出) # 绘画
plt.xticks(x,x_label,rotation 45)
plt.legend(locupper right) # 显示图例必须在绘制时设置好
plt.savefig(折线图)
plt.show()