使用多重索引为特定索引绘制DataFrame groupby

时间:2018-10-17 14:48:24

标签: python pandas matplotlib

我正在尝试绘制一些来自一系列执行的数据。我整理了数据以获得“感觉良好”的结构。

该表是多索引。有一个nodes索引,这是我在绘图中想要的索引,还有一个size索引,将被groupby编辑。我是通过以下方式到达此结构的:

ws_data = df.query("...").pivot_table(index=["nodes", "size"], ...).groupby(level="size")

ws_data.plot(y="time")

但是,x轴具有元组(nodes, size),我想避免这样做。我只需要绘制节点,该节点是在单个绘图中更改的变量,并且我想使用size作为绘图标题。

我一直在为groupby.Plot的标志而苦苦挣扎,以及groupby是否可以简化或删除该中间索引。

我做错什么了吗?还是我忽略了什么?感觉好像我接近结果了,但是也许我滥用了工具。


模拟我所拥有的结构和情节:

df = pd.DataFrame(
    {"time": np.random.random(6)},
    index=pd.MultiIndex.from_product(
        [[1, 2, 4], [4096, 8192]], 
        names=['nodes', 'size']
    )
)

ws_data = df.groupby(level="size")
ws_data.plot(y="time")

0 个答案:

没有答案