import pandas as pd
insurance = pd.read_excel('data/insurance.xlsx')
pd.options.display.float_format = '{:.2f}'.format
pd.pivot_table(insurance, index = 'State', values = 'InsuredValue', aggfunc = 'mean')
pd.pivot_table(insurance, index = 'State', columns = 'Location', values = 'InsuredValue',
aggfunc = 'mean', fill_value=0)
# Remark: The parameter fill_value=0 replaces NaN with 0 !!!
pd.pivot_table(insurance[(insurance.Flood=='Y') & (insurance.Earthquake=='Y')],
index = 'State', columns = 'Region', values = 'InsuredValue',
aggfunc = 'mean', fill_value=0)
pd.pivot_table(insurance[(insurance.Flood=='Y') & (insurance.Earthquake=='Y')],
index = 'State', columns = 'Construction', values = 'InsuredValue',
aggfunc = 'mean', fill_value=0)
pd.pivot_table(insurance, index = ['Location', 'BusinessType'], columns = 'Region',
values = 'InsuredValue', aggfunc = 'sum', fill_value=0)
pivot_df = pd.pivot_table(insurance, index = ['Location', 'BusinessType'],
columns = 'Region', values = 'InsuredValue', aggfunc = 'sum', fill_value=0)
pivot_df.loc['Total'] = pivot_df.sum()
print(pivot_df)
pivot_df = pd.pivot_table(insurance, index = 'Location', columns = 'State',
values = 'InsuredValue', aggfunc = 'count', fill_value=0)
pivot_df.plot(kind='bar')