Фрейм данных Pandas.повторная выборка (‘MS’)

#python #pandas

#python #pandas

Вопрос:

Интересно, может ли кто-нибудь помочь мне понять, где я могу ошибаться. У меня есть фрейм данных, который содержит данные (номера деталей, продажи за месяц, год) с недостающими месяцами, и я пытаюсь использовать dataframe.resample(‘MS’).asfreq(), чтобы определить недостающие месяцы и вставить их в мой список. Ранее я выполнил groupby, чтобы убедиться, что данные собираются вместе перед повторной выборкой. мой код:

 df2=df1[['Part_ID','Order_Qty','Extended_Price','Month','Month1','Year']]
df2['Month1'] = pd.to_datetime(df2.Month.astype(str)  '-01-'  df2.Year.astype(str))
df2=df2.set_index(pd.DatetimeIndex(df2['Month1']))
df2=df2.groupby([df2['Part_ID'],df2['Year']])
df2=df2['Month1'].resample('MS').asfreq()
df3=df2.to_frame()
print(df3)
df4=df3.reset_index()
  

После выполнения было добавлено несколько месяцев, но некоторые отсутствуют. Кто-нибудь может объяснить, почему?

вывод после повторной выборки:

 Part_ID                    Year            Month1
08095601/2                 2014 2014-07-01 2014-07-01
                                2014-08-01 2014-08-01
                                2014-09-01 2014-09-01
                                2014-10-01 2014-10-01
                                2014-11-01 2014-11-01
                           2015 2015-01-01 2015-01-01
                                2015-02-01 2015-02-01
                                2015-03-01 2015-03-01
                                2015-04-01 2015-04-01
                                2015-05-01 2015-05-01
                                2015-06-01 2015-06-01
08095601/5                 2014 2014-07-01 2014-07-01
                                2014-08-01 2014-08-01
                                2014-09-01 2014-09-01
                                              ...
ZZSSL                      2007 2007-10-01 2007-10-01
                                2007-11-01        NaT
                                2007-12-01 2007-12-01
                           2008 2008-01-01 2008-01-01
                                2008-02-01 2008-02-01
                                2008-03-01 2008-03-01
                                2008-04-01 2008-04-01
                                2008-05-01 2008-05-01
                                2008-06-01 2008-06-01
                                2008-07-01        NaT
                                2008-08-01        NaT
                                2008-09-01 2008-09-01
                                2008-10-01 2008-10-01
                           2009 2009-01-01 2009-01-01
                                2009-02-01 2009-02-01
                                2009-03-01 2009-03-01
                                2009-04-01 2009-04-01
                                2009-05-01 2009-05-01
                                2009-06-01 2009-06-01
                                2009-07-01 2009-07-01
bracket                    2014 2014-07-01 2014-07-01
                                2014-08-01 2014-08-01
                                2014-09-01 2014-09-01
                                2014-10-01 2014-10-01
                                2014-11-01 2014-11-01
                                2014-12-01 2014-12-01
                           2015 2015-01-01 2015-01-01
                                2015-02-01        NaT
                                2015-03-01        NaT
                                2015-04-01 2015-04-01
  

как вы можете видеть для части 08095601/2 в 2014 году нет месяца 12, а для части ZZSSL нет месяца 11 ИЛИ 12. в скобке правильно вставлены месяцы 2 и 3 в 2015 году

Пожалуйста, любые указатели.