7

鉴于此数据框:

from pandas import DataFrame
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo'], ['one', 'two', 'one', 'two',        'one', 'two']]

tuples = zip(*arrays)

index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])

df = DataFrame(randn(3, 6), index=[1, 2, 3], columns=index)

如何绘制图表:X 轴:1、2、3。三个系列名称分别为:bar、baz、foo。Y 轴值:“一”列。每个点旁边的标签是“二”列。

所以,换句话说,假设我有三只股票(bar、baz 和 foo),每只股票在每个日期(1、2、3)都有各自的股票价格('one'),以及每个日期的评论点位于“二”列。我怎么能把它画出来?

(抱歉没有显示df表,不知道如何正确复制)

4

1 回答 1

12

从表单的数据框开始

>>> df
first        bar                 baz                 foo
second       one       two       one       two       one       two
1       0.085930 -0.848468  0.911572 -0.705026 -1.284458 -0.602760
2       0.385054  2.539314  0.589164  0.765126  0.210199 -0.481789
3      -0.352475 -0.975200 -0.403591  0.975707  0.533924 -0.195430

选择并绘制'one'

>>> one = df.xs('one', level=1, axis=1)
>>> one
first       bar       baz       foo
1      0.085930  0.911572 -1.284458
2      0.385054  0.589164  0.210199
3     -0.352475 -0.403591  0.533924    

>>> pyplot.show(one.plot())

在此处输入图像描述

于 2013-12-13T16:59:30.010 回答