If carpet python sex determination is entirely chromosomal, which I suspect it is, then
each neonate has a 50% chance of being either male or female, so there's no guarantee that a clutch will produce a 50/50 yield...
It's like a flip of the coin for each snake, odds are that after many flips you'll get heads and tails (or male/female) an equal number of times, but the fewer flips you try, the more random the process will seem, if that makes any sense...Like, if we pooled the sex ratio results from a bunch of people's clutches we'd probably see the 50/50 ratio come out...
Basically, it's because of "sampling error", too small a sample doesn't yield the statistically expected results.
If you had hatched out, say, 100 eggs instead of 20 it probably would have been a more even distribution.
Such is the joy of statistics!