【Python】数据分析与可视化实践:收支日统计数据可视化的实现 Python数据分析与可视化实践:收支日统计数据可视化的实现

简介: 【Python】数据分析与可视化实践:收支日统计数据可视化的实现Python数据分析与可视化实践:收支日统计数据可视化的实现

数据读入与基本处理

9ad15732a92f2b4e55e8c35451c4e471_2571021-20230518085442673-1067857711.png

上图是原始数据的一部分,存放于excel中,首先使用pd读入数据。读入数据后,删除不是收入,也不是支出的行。

# 读取数据datas=pd.read_excel("账单.xlsx", sheet_name=0)
# 删除不是收入也不是支出datas=datas.drop(datas[datas["收/支"]=="/"].index)


折线图x轴标签准备

该折线图x轴,显示日期,因此,需要从原数据中取出日期,形成一个由不重复日期构成的列表(即这个列表中的日期不会重复)

x=datas["交易时间"].unique()

7b5c7d8cfdc9d834fcfbc009038e3264_2571021-20230518085442343-1970343234.png

这个数据太冗长了,作为标签的话放不下,因此需要处理一下,因为都是2022年的,所以取出月份和日就可以了。在此,使用了正则表达式的方式处理。

rule=r"2022-(.*?)T00"# 正则规则x_label= ["{}".format(re.findall(rule,str(i))[0]) foriinx]
x_label

c8e6129b70665821ef4e9d549c91c57d_2571021-20230518085442002-1304649346.png

到此,图表的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()根据日期统计金额,然后通过列名取出统计出来的金额

8efe236ad7c9756fd2fe9aaae6aba5ea_2571021-20230518085441519-6788241.png

处理支出同理

# 获取支出情况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),dpi=100)  # 创建画布plt.grid(True, linestyle="--", alpha=0.5)  # 添加网格# 添加描述plt.title("支出情况", fontsize=24)
plt.xlabel("日期")
plt.ylabel("金额")
# 显示图例plt.plot(data_shouru_x,data_shouru_y, color="r", linestyle="-", label="收入")  # 绘画plt.plot(data_zhichu_x, data_zhichu_y, color="b", linestyle="--", label="支出")  # 绘画plt.xticks(x,x_label,rotation=45)
plt.legend(loc="upper right")  # 显示图例必须在绘制时设置好plt.savefig("折线图")
plt.show()

6f17309534f08edc5bf0318654f48c57_2571021-20230518085440853-1635164485.png


相关文章
|
9月前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
机器学习/深度学习 人工智能 自然语言处理
如何构建企业级数据智能体:Data Agent 开发实践
本篇将介绍DMS的一款数据分析智能体(Data Agent for Analytics )产品的技术思考和实践。Data Agent for Analytics 定位为一款企业级数据分析智能体, 基于Agentic AI 技术,帮助用户查数据、做分析、生成报告、深入洞察。
|
9月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
1526 2
|
机器学习/深度学习 人工智能 自然语言处理
构建企业级数据分析助手:Data Agent 开发实践
本篇将介绍DMS的一款数据分析智能体(Data Agent for Analytics )产品的技术思考和实践。Data Agent for Analytics 定位为一款企业级数据分析智能体, 基于Agentic AI 技术,帮助用户查数据、做分析、生成报告、深入洞察。由于不同产品的演进路径,背景都不一样,所以只介绍最核心的部分,来深入剖析如何构建企业级数据分析助手:能力边界定义,技术内核,企业级能力。希望既能作为Data Agent for Analytics产品的技术核心介绍,也能作为读者的开发实践的参考。
2742 3
构建企业级数据分析助手:Data Agent 开发实践
机器学习/深度学习 算法 自动驾驶
1496 0
|
10月前
|
存储 人工智能 算法
Python实现简易成语接龙小游戏:从零开始的趣味编程实践
本项目将中国传统文化与编程思维相结合,通过Python实现成语接龙游戏,涵盖数据结构、算法设计与简单AI逻辑,帮助学习者在趣味实践中掌握编程技能。
758 0
|
10月前
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。
|
10月前
|
数据采集 数据可视化 数据挖掘
Python数据分析实战:Pandas处理结构化数据的核心技巧
在数据驱动时代,结构化数据是分析决策的基础。Python的Pandas库凭借其高效的数据结构和丰富的功能,成为处理结构化数据的利器。本文通过真实场景和代码示例,讲解Pandas的核心操作,包括数据加载、清洗、转换、分析与性能优化,帮助你从数据中提取有价值的洞察,提升数据处理效率。
496 3
|
10月前
|
大数据 数据处理 数据安全/隐私保护
Python3 迭代器与生成器详解:从入门到实践
简介:本文深入解析Python中处理数据序列的利器——迭代器与生成器。通过通俗语言与实战案例,讲解其核心原理、自定义实现及大数据处理中的高效应用。
480 0
|
11月前
|
存储 数据挖掘 大数据
基于python大数据的用户行为数据分析系统
本系统基于Python大数据技术,深入研究用户行为数据分析,结合Pandas、NumPy等工具提升数据处理效率,利用B/S架构与MySQL数据库实现高效存储与访问。研究涵盖技术背景、学术与商业意义、国内外研究现状及PyCharm、Python语言等关键技术,助力企业精准营销与产品优化,具有广泛的应用前景与社会价值。

推荐镜像

更多