You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python绘制各部门月度费用支出图:如何将统计发票频次改为统计金额总和

修改方案

你只需要做三处核心修改即可实现需求:

  • 先转换金额字段的格式,从字符串转成可计算的数值类型
  • 把分组统计的计数逻辑替换为金额求和逻辑
  • 修改图表Y轴标签适配金额统计的场景

1. 金额字段格式转换

原数据中Beløb(发票金额)是带千位分隔符、逗号作为小数位的字符串格式,无法直接求和,需要先做格式转换:

# 该代码需要放在数据筛选逻辑之前执行
df['Beløb'] = df['Beløb'].str.replace('.', '', regex=False).str.replace(',', '.', regex=False).astype(float)

2. 替换分组统计逻辑

原代码中.size()是统计分组内的条目数(即你现在得到的频次),替换为对Beløb字段求和即可:

# 把原来的plot_df生成逻辑替换为下面的代码
plot_df = (
    df.groupby([pd.Grouper(key='Udstedelsesdato',freq='M'), 'OrganisationNiveau3'])
        .agg(total_amount=('Beløb', 'sum'))
        .reset_index()
        .pivot(index='Udstedelsesdato', columns='OrganisationNiveau3', values='total_amount')
)

3. 调整图表标签

把Y轴标签从频次修改为金额相关描述即可:

# 把原来的绘图代码行替换为下面的代码
ax = plot_df.plot(kind='bar', rot=0, ylabel='发票总金额', xlabel ='月份')

完整修改后代码

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

# 转换日期格式
df['Udstedelsesdato'] = pd.to_datetime(df['Udstedelsesdato'])
# 转换金额格式
df['Beløb'] = df['Beløb'].str.replace('.', '', regex=False).str.replace(',', '.', regex=False).astype(float)
# 筛选2019年数据+指定部门
df = df[(df['Udstedelsesdato'].dt.year == 2019)]
df = df[df.OrganisationNiveau3 != 'Direktionen , Fælles område'] 
df = df[df.OrganisationNiveau3 != 'Kommunaldirektørens Stabe']
df = df[df.OrganisationNiveau3 != 'Kultur og Erhverv']
df = df[df.OrganisationNiveau3 != 'Økonomi']

# 按月份+部门分组统计总金额
plot_df = (
    df.groupby([pd.Grouper(key='Udstedelsesdato',freq='M'), 'OrganisationNiveau3'])
        .agg(total_amount=('Beløb', 'sum'))
        .reset_index()
        .pivot(index='Udstedelsesdato', columns='OrganisationNiveau3', values='total_amount')
)
# 绘制柱状图
ax = plot_df.plot(kind='bar', rot=0, ylabel='发票总金额', xlabel ='月份')
# 格式化X轴刻度
ax.xaxis.set_major_formatter(
    ticker.FixedFormatter(plot_df.index.strftime('%d-%m'))
)
plt.rcParams.update({'font.size': 40})
plt.rcParams["figure.figsize"]=(50,50)
plt.show()

内容的提问来源于stack exchange,提问作者Mads Finnerup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:36:07