使用多索引值绘图

Posted

技术标签:

【中文标题】使用多索引值绘图【英文标题】:Plotting using multi index values 【发布时间】:2021-02-24 11:01:21 【问题描述】:

我有一个包含以下数据的 excel 文件:

到目前为止我的代码:

import pandas as pd
import matplotlib as plt    
df=pd.read_excel('file.xlsx', header=[0,1], index_col=[0])

首先,我是否正确读取我的文件以使用 Main (A,B,C) 作为第一级和 Value (X,Y) 作为第二级的多索引。

使用 PandasMatplotlib - 如何绘制 Main (A,B,C) 的单个散点图,每个 x,y 作为散点值(如下图所示)。我可以在单独的绘图函数中乱七八糟地调用每一列。multi-indexinggroup by 有没有更好的方法?

【问题讨论】:

【参考方案1】:

这应该会有所帮助:

df = df.set_index(['Main1', 'Main2']).value

df.unstack.plot(kind='line', stacked=True)

【讨论】:

我收到以下错误 - NotImplementedError: > 1 ndim Categorical 目前不支持

以上是关于使用多索引值绘图的主要内容,如果未能解决你的问题,请参考以下文章

pandas - 多索引绘图

从多索引数据框中进行多次绘图

如何从多索引中提取总年份行和列以在绘图中创建直方图

绘制 Pandas 多索引条形图

来自按级别分组的多索引熊猫数据框的子图

在 pandas MultiIndex 系列中设置值