大家早上好,
基本上,我正在做一个数据帧,以获得我居住的彩票中赢得的数量。我被困在绘制我从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':没有要绘制的数字数据
答案 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
,请使用strip
和astype
:
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')
我也应该在我的代码中尝试一下。