Групповой и сюжет - PullRequest
       6

Групповой и сюжет

1 голос
/ 22 апреля 2020

У меня есть набор данных с несколькими строками на одну и ту же дату. Например:

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

Я хочу построить графики для отдельных дат для последних двух столбцов. Например: там будет график xy с одной точкой для 1-й даты. Для 2-й даты будет 2 точки (2 данные по оси X, 2 по оси Y), для 3-й даты - 4 точки данных и т. Д.

Я пытался группировать, но это не работает.

Меня также смущает вопрос о том, как наилучшим образом представить такой результат, потому что есть много разных дат, и любые предложения на этом фронте также приветствуются.

1 Ответ

1 голос
/ 22 апреля 2020

Следующее решение может работать для вас.

Преобразуйте ваши данные в фрейм данных, используя 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

Затем используйте группирование по дате 'и для значений каждой группы используйте график рассеяния matplotlib для построения координат или точек xy.

for group, values in data.groupby(data['date']):
        plt.scatter(values['x'], values['y'], c ='r')
        plt.show()

Наконец, вот так будет выглядеть график:

enter image description here

...