#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 году
Пожалуйста, любые указатели.