分组和情节

时间:2020-04-22 08:44:56

标签: pandas matplotlib pandas-groupby

我有一个数据集,同一日期有多行。例如:

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,但无法正常工作。

我也困惑于最好的方法来描绘这样的结果,因为有两个日期,对此方面的任何建议也都欢迎。

1 个答案:

答案 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()

最后,这是情节的样子:

enter image description here