I think you might want to consider varying your testing parameter:
In [39]: %timeit pythonsum(10)
100000 loops, best of 3: 8.41 us per loop
In [40]: %timeit pythonsum(100)
10000 loops, best of 3: 51.9 us per loop
In [41]: %timeit pythonsum(1000)
1000 loops, best of 3: 451 us per loop
In [42]: %timeit pythonsum(10000)
100 loops, best of 3: 17.9 ms per loop
In [43]: %timeit numpysum(10)
100000 loops, best of 3: 13.4 us per loop
In [44]: %timeit numpysum(100)
100000 loops, best of 3: 17 us per loop
In [45]: %timeit numpysum(1000)
10000 loops, best of 3: 50.3 us per loop
In [46]: %timeit numpysum(10000)
1000 loops, best of 3: 385 us per loop
Ratio of Numpy vs List comprehension timings:
10: 0.6x
100: 3.1x
1000: 9x
10000: 46x
Thus, Numpy is much faster for large N
.