Pandas多重索引标签绘图

3

我有一个类似于这样的Pandas DataFrame:

n=pd.DataFrame({1:[1,2,np.NAN,4],2:[5,6,5,8],'info':[5,6,8,7],'moreinfo':[1,2,5,8]}).set_index(['info','moreinfo'])

看起来像这样:

                       1    2
info    moreinfo        
5       1            1.0    5
6       2            2.0    6
8       5            NaN    5
7       8            4.0    8

我该如何绘制折线图以满足以下要求: 使用列标签作为x轴标签 数据按索引分组并着色 y轴是每个列中找到的数值数据。
下面是我认为绘图应该看起来像的示例:

enter image description here


1
你能展示一下图表应该是什么样子吗?“数据按索引分组和着色”,有两个索引,信息和更多信息。 - Scott Boston
你目前尝试了什么?你能画一个小草图来描述期望的输出吗?NaN应该如何处理? - albert
1个回答

1

让我们试试:

ax = n.T.plot(marker='o')
ax.set_xticks(n.T.index.astype(int))

输出:

enter image description here

你可能想用零来填充那个NaN。

ax = n.fillna(0).T.plot(marker='o')
ax.set_xticks(n.T.index.astype(int))

输出: 在此输入图片描述


我只是想尝试一下,结果运行得很好。我认为一定有其他方法来指定x标签和数据标签,而不必转换DataFrame。但无论如何,这种方法确实很好用。谢谢。 - The Nightman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接