# Output shape of numpy's rfft function

For numpy's rfft function, the length of the output is about half of N, the length of the input sequence. What is the reason behind this? What are the frequency bins?

To sum up, real DFT normally takes a real input of N samples and returns a complex output of N/2+1 values.