从CSV文件绘制Pandas框架

时间:2017-07-19 12:09:30

标签: python python-2.7 pandas csv matplotlib

大家早上好,

基本上,我正在做一个数据帧,以获得我居住的彩票中赢得的数量。我被困在绘制我从CSV文件创建的Dataframe中。这是我的代码:

    data_file = pd.read_csv('Jugadas_Ganadas.csv')
    data_file.set_index('Date', inplace=True)
    df = pd.DataFrame(data_file)
    pickle_out = open('Pega3_Ganados.pickle', 'wb')
    pickle.dump(df, pickle_out)
    pickle_out.close()

    fi = plt.figure()
    ax1 = plt.subplot2grid((1, 1), (0, 0))


    data_analysis = pd.read_pickle('Pega3_Ganados.pickle')

    print data_analysis

打印数据分析后,我得到以下框架。

               Values
    Date             
    15/07/2017  [660]
    16/07/2017   [40]
    17/07/2017  [300]
    18/07/2017   [40]
    19/07/2017   [80]

在确认我的变量中有一个框架后,我尝试使用此脚本在matplotlib图中绘制它。

    fi = plt.figure()
    ax1 = plt.subplot2grid((1, 1), (0, 0))

    data_analysis['Values'].plot(ax=ax1, label='Ganadas')
    plt.legend(loc=4)
    plt.show()

但是,我收到以下错误:

TypeError:清空'DataFrame':没有要绘制的数字数据

2 个答案:

答案 0 :(得分:1)

我认为列values包含列表,因此需要按str[0]选择列表的第一个值:

print (type(df.loc[df.index[0], 'Values']))
<class 'list'>

data_analysis['Values'].str[0].plot(ax=ax1, label='Ganadas')

如果值的类型为string,请使用stripastype

print (type(df.loc[df.index[0], 'Values']))
<class 'str'>

data_analysis['Values'].str.strip('[]').astype(int).plot(ax=ax1, label='Ganadas')

答案 1 :(得分:0)

print (type(df.loc[df.index[0], 'Values']))
<class 'str'>

data_analysis['Values'].str.strip('[]').astype(int).plot(ax=ax1, label='Ganadas')

我也应该在我的代码中尝试一下。