It shows an average of positions on the result page (i.e., the sum of positions divided by number of impressions). Whole numbers mean that there was only one impression, or the average computes to an integer. See this Moz Blog for more information.
Beware - averages of ordinal values (i.e., ranks) are not what they actually appear to be. SERP positions are ordinals - they don't have a normal value distribution.
The sum of traffic from positions 1 + 5 does not equal the traffic of (3+3 or 2+4), but all have an average of 3. In fact the value drops off exponentially (it also varies a lot with query type etc).
For more information on the statistical-side see this.