Python Pandas - Reshaping data

import pandas as pd

# Read csv data from file
wideCrimesDF = pd.read_csv('Crime.csv')
wideCrimesDF.shape
(72,25)

wideCrimesDF.head()
Offence State 2000 2001 2002 2003 ... 0 Homicide NSW 262 313 256 233 ... 1 Assault NSW 68,714 75,461 80,028 79,890 ... 2 Sexual assault NSW 5,975 6,268 6,477 6,799 ... 3 Kidnapping NSW 385 470 435 421 ... 4 Robbery NSW 13,328 15,234 11,707 10,849 ... 5 rows × 25 columns


# Convert data to long format
crimesDF = pd.melt(wideCrimesDF, id_vars = ['Offence','State'], var_name = 'Year', value_name = 'Count')

crimesDF.head()
Offence State Year Count 0 Homicide NSW 2000 262 1 Assault NSW 2000 68,714 2 Sexual assault NSW 2000 5,975 3 Kidnapping NSW 2000 385 4 Robbery NSW 2000 13,328

crimesDF.shape
(1656, 4)