python - 在 pandas 中,如何绘制多个索引?

标签 python pandas matplotlib plot

我在 Panda 的数据框中有双索引,如下例所示。

           c         d
a  b         
1  3   1.519970 -0.493662
2  4   0.600178  0.274230
3  5   0.132885 -0.023688
4  6   2.410179  1.450520

如何将列“c”绘制为 y 轴,将索引“b”绘制为 x 轴。使用一个索引,很容易绘制。但我在多索引绘图方面遇到麻烦。感谢您的任何帮助!!。

最佳答案

选项 1
提供了两个涉及 reset_index 的选项(在注释中)。他们是

df.reset_index().plot(x="b",y="c")

或者,

df.reset_index(level=0, drop=True).c.plot()

这两者都应该按预期工作,但对于大型数据帧来说会变得昂贵。


选项 2
如果您担心内存问题,这里有一个不涉及重置索引的选项:

plt.plot(df.index.get_level_values(1), df.c)

reset_index 生成数据的副本。这更有效,因为它不必这样做。

关于python - 在 pandas 中,如何绘制多个索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49289179/

相关文章:

python - 使用 pandas 在 matplotlib 中绘图

python - 从静态方法访问静态变量

python - 获取具有任意嵌套度的 html 元素的内容(以及内容的 xpath)

python - 在 Python 中查询现有套接字的地址族

python - 如何删除整数类型列中的最后两位数字?

python - 计算 Pandas 中一列字符串中的单词

python - Python中的多线程缩略图生成

python - 如何使用 Pandas MultiIndex DataFrame 中的先前值进行计算?

python - 在 iPython 中,在 matplotlib.pyplot.show() 之后保持 Python Shell 可用

python - 多行自定义图例,同一文本有两个标记