Considering this thread, I can not yet get the reason how to know the model expects the input must be in a format.
According to the error message, you have input data in the format [45000, 50000, 60000, ...]. But the model expects the input in the format like [[45000], [50000], [60000], ...] - a list of the lists. So reshape(-1, 1) just changes a format.
Why y not to be as 2Darray? Why just X must be?