Мне нужна помощь. Я хочу сделать гистограмму, где у вас разные даты (Год и месяц). Я отсортировал месяцы и год, но это не в правильном порядке. Кто-нибудь может мне помочь?
Это мой код:
df["Report Date"] = pd.to_datetime(df['Report Date'])
df_gesorteerd = df.groupby(df['Report Date'].dt.strftime('%B %Y'))['Agency Id'].sum()
Консоль паука дает мне следующую информацию:
Report Date
April 2016 70926
April 2017 69953
April 2018 67335
August 2016 71694
August 2017 74894
August 2018 69463
December 2016 67162
December 2017 68038
February 2017 63745
February 2018 62229
January 2017 66202
January 2018 69533
July 2016 66205
July 2017 71750
July 2018 65111
June 2016 69645
June 2017 68122
June 2018 61306
March 2016 88
March 2017 74489
March 2018 67672
May 2016 71183
May 2017 74714
May 2018 70341
November 2016 67342
November 2017 66511
October 2016 74240
October 2017 71187
September 2016 72979
September 2017 72342
September 2018 67844
Name: Agency Id, dtype: int64
Вы можете видеть, что месяцы, а также годы не в правильном порядке, мне очень хотелось увидеть следующий код на моем экране:
Report Date
March 2016 88
April 2016 70926
June 2016 69645
...
Когда у меня есть эта информация, мне хотелось сделать гистограмму, по оси X - дату отчета, а по оси Y - количество вызовов?
Может мне помочь?
Ты можешь использовать:
df["Report Date"] = pd.to_datetime(df['Report Date'])
#sorting datetimes if necessary
df = df.sort_values('Report Date')
#parameter sort=False for avoid default sorting in groupby
dates = df['Report Date'].dt.strftime('%B %Y')
df_gesorteerd = df.groupby(dates, sort=False)['Agency Id'].sum()
df_gesorteerd = df.groupby(df['Report Date'].dt.strftime('%B %Y'), sort=False)['Agency Id'].sum()
?import pandas as pd import matplotlib.pyplot as plt