我有一个数据集,同一日期有多条记录。例如,我想为最后两列的各个日期绘制图表。
date col1 col2
1854-11-09 314.2 567.9
1854-11-17 322.8 678.9
1854-11-17 432.8 435.0
1854-11-21 678.9 476.2
1854-11-21 872.7 892.0
1854-11-21 656.9 490.2
1854-11-21 278.9 586.8
我想为最后两列的各个日期绘制图表。例如:第1个日期有一个x-y图,有一个点。第2个日期将有2个点(2个x轴数据,2个y轴数据),第3个日期将有4个数据点,以此类推。
我试过用groupby,但没有效果。
我也很困惑,因为有两个多日期,所以最好的方法是显示这样的结果,也欢迎任何这方面的建议。
解决方案:
下面的解决方案可能对你有用。
用pandas把你的数据转换成一个数据框,它应该是这样的。
date x y
0 1854-11-09 314.2 567.9
1 1854-11-17 322.8 678.9
2 1854-11-17 432.8 435.0
3 1854-11-21 678.9 476.2
4 1854-11-21 872.7 892.0
然后使用groupby by ‘date’ 对每个组的值使用matplotlib的散点图来绘制x -y坐标或点。
for group, values in data.groupby(data['date']):
plt.scatter(values['x'], values['y'], c ='r')
plt.show()
最后,这就是绘图的样子。
本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/350.html