I would like to shift the dimension of a dataset below:
Data
location range status type Q1 28 Q2 28
NY Low Re AA 2 0
NY Low Gr AA 2 2
NY Low Re BB 0 0
NY Low Gr BB 0 0
NY Low Re DD 0 2
NY Low Gr DD 2 2
NY Low Re SS 0 0
NY Low Gr SS 0 0
CA Med Re AA 0 4
CA Med Gr AA 2 0
CA Med Re BB 0 2
CA Med Gr BB 0 0
CA Med Re DD 0 6
CA Med Gr DD 2 0
CA Med Re SS 0 2
CA Med Gr SS 0 0
Desired
location range status type quarter count
NY Low Re AA Q1 28 2
NY Low Gr AA Q1 28 2
NY Low Re BB Q1 28 0
NY Low Gr BB Q1 28 0
NY Low Re DD Q1 28 0
NY Low Gr DD Q1 28 2
NY Low Re SS Q1 28 0
NY Low Gr SS Q1 28 0
CA Med Re AA Q1 28 0
CA Med Gr AA Q1 28 2
CA Med Re BB Q1 28 0
CA Med Gr BB Q1 28 0
CA Med Re DD Q1 28 0
CA Med Gr DD Q1 28 2
CA Med Re SS Q1 28 0
CA Med Gr SS Q1 28 0
NY Low Re AA Q2 28 0
NY Low Gr AA Q2 28 2
NY Low Re BB Q2 28 0
NY Low Gr BB Q2 28 0
NY Low Re DD Q2 28 2
NY Low Gr DD Q2 28 2
NY Low Re SS Q2 28 0
NY Low Gr SS Q2 28 0
CA Med Re AA Q2 28 4
CA Med Gr AA Q2 28 0
CA Med Re BB Q2 28 2
CA Med Gr BB Q2 28 0
CA Med Re DD Q2 28 6
CA Med Gr DD Q2 28 0
CA Med Re SS Q2 28 2
CA Med Gr SS Q2 28 0
Doing
df = pd.melt(df, id_vars=['location', 'range'], var_name='quarter', value_name='count')
however not all of the data is pivoting. Any suggestion is helpful.