小Q同学的微信账单可视化分析(Tableau)

Tableau微信账单可视化分析

先用python对小Q同学在2019-11、2019-12、2020-01三个月的微信账单数据进行简单的描述性分析,并将结果输出到excel文件中,再将excel文件导入到Tableau中进行可视化分析。

import pandas as pd
import numpy as np
import os
os.chdir("f:\\pythonproject\\自动化报表")

file_name="bill.csv"
bill_data=pd.read_csv(file_name,header=16)

out_file=r"f:\\pythonproject\\自动化报表\\result.xlsx"
out=pd.ExcelWriter(out_file)

bill_data["交易时间"]=pd.to_datetime(bill_data["交易时间"])
bill_data["月份"]=bill_data["交易时间"].apply(lambda x:x.strftime("%Y-%m"))
bill_data["时间"]=bill_data["交易时间"].apply(lambda x:x.strftime("%H"))

bill_data["金额(元)"]=pd.to_numeric(bill_data["金额(元)"].str[1:])

month_jiner=pd.pivot_table(bill_data,values="金额(元)",index=["月份","收/支"],aggfunc=["count","sum","max","min"])
month_jiner.to_excel(excel_writer=out,sheet_name="每月收支情况")

hour_jiner=pd.pivot_table(bill_data,values="金额(元)",index=["时间","收/支"],aggfunc=["count","sum","max","min"])
hour_jiner.to_excel(excel_writer=out,sheet_name="不同时点收支情况")

type=bill_data.groupby([bill_data["交易类型"],bill_data["收/支"]]).sum()
type.to_excel(excel_writer=out,sheet_name="不同交易类型的收支情况")

target=bill_data.groupby([bill_data["交易对方"],bill_data["收/支"]]).sum()
target.to_excel(excel_writer=out,sheet_name="不同交易对方的收支情况")

out.save()

可视化分析

小Q同学的微信账单可视化分析(Tableau)_第1张图片
该图展示了2019-11、2019-12、2020-1三个月小Q的微信支出/收入的金额和次数。可以看到,收入和支出最多的月份均是2019-12。2020-1没有收入只有支出,且支出次数减少。
小Q同学的微信账单可视化分析(Tableau)_第2张图片
该图展示了2019-11、2019-12、2020-1三个月小Q的微信支出/收入的最大值和最小值。可以看到,三个月支出的最大值都超过了100元,其中2019-12月的最大支出达到了240左右。
小Q同学的微信账单可视化分析(Tableau)_第3张图片
该图展示了小Q同学的收入与支出在时间段上的分布情况。从收入来看,小Q收钱的时间主要集中在12点,收入金额较多的时间点是11点、13点、16点、18点。也就是说12点的收入笔数最多,但是收入金额相较而言不是最多的。
从支出来看,支出笔数比较多的是8点、18点,而支出金额最多的是18点,这两个时间点刚好是饭点,所以支出笔数较多,此外还能看出小Q的晚饭消费是比较多的。
小Q同学的微信账单可视化分析(Tableau)_第4张图片
该图展示了每个时点收入支出的最大、最小值。
小Q同学的微信账单可视化分析(Tableau)_第5张图片
该图展示了收入支出的对象及其金额的大小,圆的面积越大说明往来金额越多。
小Q同学的微信账单可视化分析(Tableau)_第6张图片
该图展示了收入支出的方式及其金额。面积和颜色都表示金额的大小。

你可能感兴趣的:(小Q同学的微信账单可视化分析(Tableau))