аватар question@mail.ru · 01.01.1970 03:00

Как упорядочить даты на графике в порядке возрастания?

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

Как построить правильный график, чтобы от прошлого к настоящему, а не наоборот?

import pandas as pdimport matplotlib.pyplot as pltdata = pd.read_csv('data.txt')plt.plot(data['val'])plt.show()

Пробовал: data = data[::-1]

аватар answer@mail.ru · 01.01.1970 03:00

Если у столбец с датами имеет тип данных datetime64, то Pandas сам позаботится о сортировке значений по оси X.

Пример:

In [105]: df = pd.DataFrame({""DT"": pd.date_range('2021-01-01', periods=20), ""val"": np.random.randint(100, size=20)}).sample(frac=1)In [106]: dfOut[106]:           DT  val15 2021-01-16   712  2021-01-03   2311 2021-01-12   293  2021-01-04   660  2021-01-01   529  2021-01-10   7818 2021-01-19    512 2021-01-13   648  2021-01-09   816  2021-01-07   7313 2021-01-14   8510 2021-01-11   857  2021-01-08   741  2021-01-02   494  2021-01-05   8014 2021-01-15   3819 2021-01-20   985  2021-01-06   2517 2021-01-18    316 2021-01-17   69

рисуем средствами Pandas:

In [108]: df.set_index(""DT"")[""val""].plot()Out[108]: <AxesSubplot:xlabel='DT'>

Последние

Похожие