使用.csv和两个索引列中的数据在Python中绘图

时间:2019-04-25 03:17:25

标签: python indexing graphing

我有关于的数据

csv中超过11年的各种状态特征。我已经使用“州”和“年”作为index_col将其加载到python中。我正在尝试为每个州创建一个图表,其中x轴是年份,y轴是我的特征之一(即收入或GDP)。理想情况下,将来我可以使用颜色条创建第二个y轴。

               Year    GDP      EDU      CI    UR    IPC
State                                                   
Alabama        2003  36.64  1068.61   87.90   7.8  26693
Alabama        2004  38.74  1139.86   88.98   7.5  28399
Alabama        2005  39.69  1247.12   92.75   6.9  29808
Alabama        2006  39.92  1349.12   96.96   6.6  31306
Alabama        2007  39.78  1462.16   99.34   6.4  32573
Alabama        2008  39.27  1416.61   99.94   6.7  33377
Alabama        2009  37.42  1401.98   90.88   7.7  32631
Alabama        2010  38.09  1377.70   85.70   7.9  33844
Alabama        2011  38.56  1330.85   90.46   7.6  34942
Alabama        2012  38.69  1356.51   96.80   7.1  35818
Alabama        2013  38.95  1395.90  100.13   7.0  36067
Alabama        2014  38.48  1405.57  102.45   6.9  37235

(很抱歉,此显示非常难看。本质上是列(州/年/ GDP / EDU / CI / UR / IPC) 数据看起来像这样,每个州都有它。理想情况下,我将能够绘制出具有特定特征的每种状态。同样,在一张图上将一种状态与另一种状态进行比较。因此,我希望能够为两个选定的州调用所有年份,然后选择我可以绘制的数据列。我在网上看到的所有图形建议都没有涵盖这一点。不胜感激!

我尝试过请。情节。我已经为包含各自数据的每个州创建了excel文档,但是无法在x轴上用几年来调用它。通常,它不存在表示“年份”的关键错误。我以为是因为它是索引列?

for State in State_index:
    index_for_State = df.index.get_level_values("State") == State
    data_for_State = df[index_for_State]
    df = data_for_State
    try:
        xname = "IPC"
        yname = "EDU"
        fig, ax = plt.subplots(figsize = (15, 8))
        scatter = ax.scatter(x=df[xname],
                    y=df[yname],
                    c = df.index.get_level_values("Year"))

0 个答案:

没有答案