Я пытаюсь просто построить гистограмму для максимального значения разных дат. У меня есть DataFrame со многими колоннами, включая колонку date
и столбец Points
. Во-первых, я нахожу max Points
для каждой даты с помощью этого кода:
maxnight=new.groupby(["date"], sort=False)["Points"].max()
и затем я пытаюсь построить гистограмму этих максимумов; Я хотел бы иметь на оси у частоты и по оси х максимальные значения. Я попробую:
plt.hist(maxnight)
Но это не работает, потому что наименьшее значение должно быть 5, а гистограмма показывает 0 и 2,5... Я не понимаю, откуда они взялись. Я просматриваю все значения в maxnight
и нет значения ниже 5
EDIT: Я пытаюсь использовать фиктивный набор данных, и он работает. Затем я обнаружил, что ошибка связана с некоторыми выбросами, которые должны быть там, что является еще одной проблемой в другом месте.
Точно так же, как и я, работала так, как показано ниже:
import pandas as pd
import matplotlib.pyplot as plt
new=pd.DataFrame({"date":[0,0,0,0,1,1,1,3,3,4,5,5,5],"Points":[3,2,5,6,8,3,2,8,3,5,6,3,2]})
new
date Points 0 0 3 1 0 2 2 0 5 3 0 6 4 1 8 5 1 3 6 1 2 7 3 8 8 3 3 9 4 5 10 5 6 11 5 3 12 5 2
maxnight=new.groupby(["date"], sort=False)["Points"].max()
maxnight
date
0 6
1 8
3 8
4 5
5 6
plt.hist(maxnight)
Делает ли это то, что вы хотите?
plt.bar(maxnight.index, maxnight.values)