Как упорядочить даты на графике в порядке возрастания?
📁 python, pandas, matplotlib
Eсть CSV файл с кол-вом заболевших за прошлый год, но он имеет неверную структуру, т.е. там сначала идет сегодняшняя дата, потом вчерашняя и т.д.
Как построить правильный график, чтобы от прошлого к настоящему, а не наоборот?
import pandas as pdimport matplotlib.pyplot as pltdata = pd.read_csv('data.txt')plt.plot(data['val'])plt.show()Пробовал: data = data[::-1]
Если у столбец с датами имеет тип данных 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'> Войдите чтобы оставить ответ
Блоги
Оптимизация производительности C# приложений: лучшие практики .NET