我有一个数据集,同一日期有多行。例如:
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
我想为最后两列的各个日期绘制图形。例如:对于第一个日期,将有一个带有一个点的x-y图。对于第二个日期,将有2个点(2个x轴数据,2个y轴数据),对于第三个日期将有4个数据点,依此类推。
我尝试了groupby,但无法正常工作。
我也困惑于最好的方法来描绘这样的结果,因为有两个日期,对此方面的任何建议也都欢迎。
答案 0 :(得分:1)
以下解决方案可能适合您。
使用熊猫将数据转换为数据框,这应该是这样:
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()
最后,这是情节的样子: