绘制Pandas数据框中的列表

时间:2017-11-14 15:41:48

标签: python list pandas dataframe plot

考虑以下数据框示例:

df = pd.DataFrame({'date':['12-01', '12-02', '12-03'],'list1': np.random.randint(0, 10, (3,5)).tolist(), 
               'list2': np.random.randint(0, 10, (3,5)).tolist()}, 
               index=list('ABC'))

enter image description here

我想在数据框中绘制列表,以便在我的图表中最终得到3行:A,B和C,每一行,' list1'作为x值和' list2'作为y值。

我开始尝试直接绘制列,但以下内容返回错误:

In: df.iloc[0].plot(x='list1', y='list2')

Out: TypeError: Empty 'DataFrame': no numeric data to plot

我可以遍历数据帧的各行并将列表附加到新列表中以绘制它们,但我觉得这会将我的数据存储在数据框中(我有附加列的辅助数据)和我我相信有更好的方法可以做到这一点。

我在每个数据框中有大约20个条目(从较大的数据框分组),主要目的是目视检查值(仪器的输出)是否在一定范围内。

2 个答案:

答案 0 :(得分:1)

为什么不迭代行并绘制值?

for i, row in df.iterrows():
    plt.plot(row['list1'], row['list2'])

答案 1 :(得分:0)

您正在使用pandas绘图方法,这需要数据框输入。如果您直接使用matplotlib,则可以这样绘制:

plt.plot(df.iloc[0]['list1'], df.iloc[0]['list2'])