考虑以下数据框示例:
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'))
我想在数据框中绘制列表,以便在我的图表中最终得到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个条目(从较大的数据框分组),主要目的是目视检查值(仪器的输出)是否在一定范围内。
答案 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'])