【发布时间】:2021-11-27 13:29:35
【问题描述】:
我是 python 新手,但在将正确信息放入图表时遇到问题。
有几个不同的部门在全年都有不同的付款发票。我希望能够将它们分组,这样我就可以在方框图中查看每个部门每个月的发票合计金额。
我目前能够获得部门在一年中每个月收到发票的频率,但我想要的是金额而不是频率
这是我目前的代码
df['Udstedelsesdato'] = pd.to_datetime(df['Udstedelsesdato'])
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'])
.size()
.reset_index(name='count')
.pivot(index='Udstedelsesdato', columns='OrganisationNiveau3', values='count')
)
# Plot Bar
ax = plot_df.plot(kind='bar', rot=0, ylabel='Frequency', xlabel =' Months')
# Format X-axis ticks
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()]
这是它的外观: With frequency
以及我希望它的外观: With amount
这就是我的数据集的样子: Dataset
为了简单起见,我还对 20 多列中的一些列进行了排序...
Udstedelsesdato 是发票日期
Beløb 是发票金额
OrganisationNiveau3 是部门
和数据:
date Organisation amount ID
21-01-2019 a 80,00 1
24-11-2019 b 4.000,00 2
24-03-2019 c 2.250,00 3
21-01-2019 d 3.000,00 4
21-04-2019 e 298,00 5
24-12-2019 a 564,38 6
24-05-2019 b 157,50 7
24-06-2019 c 157,50 8
24-07-2019 d 48,00 9
24-08-2019 e 280,00 10
24-09-2019 a 199,00 11
28-10-2019 b 75,20 12
【问题讨论】:
标签: python pandas matplotlib