如何用熊猫绘制多索引会计数据?

时间:2020-10-03 16:25:20

标签: python pandas data-visualization

我附上了数据[示例数据] [1]的屏幕截图

导入csv时,我将索引设置为column [0,1,2],其余[3:]列的日期范围为2015-07-31到2021-08-31。

我的目标是能够基于“预算名称”创建图并能够深入到“ 02级”或“ 03级”。

我想创建一个折线图,其中x轴是日期列,y轴是值。但是,我尝试使x轴成为“预算代码”。

总数据集包含17个预算名称项目,每个预算名称都有“ Level 02”和“ Level 03”数据。

s

有没有一种方法可以使用pandas / seaborn / matplotlib创建它?最终结果将类似于MS Excel中的折线图。谢谢<style> p.uppercase {text-transform: uppercase;} p.lowercase {text-transform: lowercase;} p.capitalize {text-transform: capitalize;} </style>

1 个答案:

答案 0 :(得分:0)

我在下面找到了可行的解决方案。情节的美感当然可以得到改善。

noJune=data.drop(columns=['2016-06-30','2017-06-30','2018-06-30','2019-06-30','2020-06-30', 'Unnamed: 75'])
# Convert column names from strings to datetime
for i in range(3,len(noJune.keys())):
    noJune.rename(columns={noJune.keys([i]:datetime.datetime.strptime(noJune.keys()[i], '%Y-%m-%d')}, inplace=True)

绘制所有预算代码的总和:

ax = noJune.sum(axis=0).T[3:70].plot(figsize=(30,15))
ax.set_xticks(noJune.keys()[3:70])
ax.grid(True)

按预算代码绘制:

noJune.groupby('Budget Code').sum().T[3:70].plot(figsize=(30,50), subplots=True, x_compat=True)

按总帐帐户绘图:

glPlot = noJune.groupby('Level 02').sum().T[3:70].plot(figsize=(30,50), subplots=True, x_compat=True)

按sub-Gl绘制:

detailPlot = noJune.groupby('Level 03').sum().T[3:70].plot(figsize=(30,50), subplots=True, x_compat=True)
相关问题