Mar-03-2020, 02:54 PM
Hi, anybody knows how the values under All (both row and column) were calculated. I heard that by setting margins equals to True, the values under All are the group statistics. I added the values in the first column and divided by 6, I got 2.4975635 but privot_table gave 2.668874. Similarly, I calculated the average on the first row (2+2.222222)/2 = 2.111111 but pivot_table gave 2.166667.
In [66]: tips.pivot_table(['tip_pct', 'size'], index=['time', 'day'], columns='s
...: moker', margins=True)
Out[66]:
size tip_pct
smoker No Yes All No Yes All
time day
Dinner Fri 2.000000 2.222222 2.166667 0.139622 0.165347 0.158916
Sat 2.555556 2.476190 2.517241 0.158048 0.147906 0.153152
Sun 2.929825 2.578947 2.842105 0.160113 0.187250 0.166897
Thur 2.000000 NaN 2.000000 0.159744 NaN 0.159744
Lunch Fri 3.000000 1.833333 2.000000 0.187735 0.188937 0.188765
Thur 2.500000 2.352941 2.459016 0.160311 0.163863 0.161301
All 2.668874 2.408602 2.569672 0.159328 0.163196 0.160803
