绘制DataFrames的字典

时间:2015-10-16 09:02:47

标签: python dictionary pandas matplotlib

我有一个dictionary DataFrames我希望用于图表。这是数据的一个例子:

import pandas as pd
import numpy as np

np.random.seed(5)
first = pd.DataFrame(columns=range(1,4),data=np.random.rand(3,3), index=range(1,4))
second = pd.DataFrame(columns=range(1,4),data=np.random.rand(3,3)+0.2, index=range(1,4))
third = pd.DataFrame(columns=range(1,4),data=np.random.rand(3,3)+0.05, index=range(1,4))
fourth= pd.DataFrame(columns=range(1,4),data=np.random.rand(3,3)-0.2, index=range(1,4))

d={'frame_1':first,'frame_2':second,'frame_3':third,'frame_4':fourth}

#This is what it looks like
d
    {'frame_1':           1         2         3
 1  0.221993  0.870732  0.206719
 2  0.918611  0.488411  0.611744
 3  0.765908  0.518418  0.296801, 'frame_2':           1         2         3
 1  0.387721  0.280741  0.938440
 2  0.641309  0.358310  1.079937
 3  0.474086  0.614235  0.496080, 'frame_3':           1         2         3
 1  0.678788  0.629838  0.649929
 2  0.315819  0.334686  0.303588
 3  0.377564  0.194164  0.215613, 'frame_4':           1         2         3
 1  0.763931  0.760227 -0.011585
 2 -0.175693  0.004556  0.499844
 3  0.579515 -0.177067  0.377663}

最终,我想要9个独立的图表,用于绘制DataFrame(11,12,13,...)中每个元素组合与1,2,3,4(与'相关)的演变。 frame_1',' frame_2'等)作为x轴。需要说明的是,这意味着第一个图(与11相关)应包含值0.221993,0.3777721,0.678788和0.763931。

通常,我总是会解释我自己试图解决问题的方法。但是,在这种情况下,我还没有得到关于可能的解决方案的线索..

注意:实际数据集为10x10 DataFramesdictionary包含75个此类数据框,因此我希望尽可能多的自动化。

1 个答案:

答案 0 :(得分:1)

我不确定我是否明白你想要什么结果,但是:

for k in d:
    ax = d[k].plot()

给予:

enter image description here enter image description here enter image description here