I have the following DataFrame:
data = {'year': [2010, 2010, 2011, 2012, 2011, 2012, 2010, 2011, 2012, 2013], 'store_number': ['1944', '1945', '1946', '1947', '1948', '1949', '1947', '1948', '1949', '1947'], 'retailer_name': ['Walmart','Walmart', 'CRV', 'CRV', 'CRV', 'Walmart', 'Walmart', 'CRV', 'CRV', 'CRV'], 'product': ['a', 'b', 'a', 'a', 'b', 'a', 'b', 'a', 'a', 'c'], 'amount': [5, 5, 8, 6, 1, 5, 10, 6, 12, 11]} stores = pd.DataFrame(data, columns=['retailer_name', 'store_number', 'year', 'product', 'amount']) stores.set_index(['retailer_name', 'store_number', 'year', 'product'], inplace=True) stores.groupby(level=[0, 1, 2, 3]).sum()
I want to convert the following Dataframe:
amount retailer_name store_number year product CRV 1946 2011 a 8 1947 2012 a 6 2013 c 11 1948 2011 a 6 b 1 1949 2012 a 12 Walmart 1944 2010 a 5 1945 2010 b 5 1947 2010 b 10 1949 2012 a 5
in the dataframe of the lines:
retailer_name store_number year abc CRV 1946 2011 8 0 0 CRV 1947 2012 6 0 0 etc...
Products are known in advance. Any idea how to do this?