У меня есть набор данных, который содержит список единиц (магазинов), продающих систему с продажами и единицами за каждую неделю. Я сгруппировал их в контрольную группу в качестве нового столбца.
Теперь я хочу использовать эти новые группы в наборе данных, так как я хочу построить их друг против друга на протяжении всех недель.
Моя лучшая попытка в этом на данный момент:
df_group = df.groupby('Group')['Sales'].sum()
Однако это просто суммирует их все за неделю.
Unit Year Week System_Type Sales Units_Sold
0 6111 2019 1 Component2 109578 3139
1 6111 2019 1 Component1 20792 639
2 6111 2019 2 Component2 115363 3425
3 6111 2019 2 Component1 25261 796
4 6111 2019 3 Component2 114913 3352
df['Group'] = np.where(((df['Unit'] == 6111) | (df['Unit'] == 6112) | (df['Unit'] == 6121)), 'control', 'test')
df.head()
Unit Year Week System_Type Sales Units_Sold Group
0 6111 2019 1 Component2 109578 3139 control
1 6111 2019 1 Component1 20792 639 control
2 6111 2019 2 Component2 115363 3425 control
3 6111 2019 2 Component1 25261 796 control
4 6111 2019 3 Component2 114913 3352 control
time = df.Week.unique()
df_cat = df[df.System_Type == 'Component1']
Я смотрю на это некоторое время, не имея возможности найти правильный путь. Я думаю, может быть, использовать переменную "время" в качестве нового индекса?
Любая помощь высоко ценится!