Based on this github issue I had to make one modification - https://github.com/scipy/scipy/issues/13812
as shown below. I had to remove the zero frequency 
signal.lombscargle(minutes,df1.to_numpy().ravel(),freq[1:])

and the code works just fine now. The interpretation task awaits me now . 

For the record here is the code - 

times = df.view(np.int64)/6E10


df1 = (data[['Pressure_hPa']])

# I also added a 2 to the angular frequency value 

freq = np.linspace(0, 2*np.pi/300.0,8928//2)

signal.lombscargle(times,df1.to_numpy().ravel(),freq[1:])




On Wed, Apr 13, 2022 at 7:46 PM ashwin .D <winash12@gmail.com> wrote:
Robert,
              I ran that code as you suggested. I get this error now - 
File "ffttest.py", line 21, in <module>
    signal.lombscargle(minutes,df1.to_numpy().ravel(),freq)
  File "/usr/local/lib/python3.8/dist-packages/scipy-1.7.1-py3.8-linux-x86_64.egg/scipy/signal/spectral.py", line 150, in lombscargle
    pgram = _lombscargle(x, y, freqs)
ZeroDivisionError: ()

Any suggestions would be appreciated. Is this an issue I should open on github by providing the test data ? 

Best regards,
Ashwin. 



On Tue, Apr 12, 2022 at 6:48 PM Robert Kern <robert.kern@gmail.com> wrote:
On Tue, Apr 12, 2022 at 3:32 AM ashwin .D <winash12@gmail.com> wrote:
Hi Robert,
                  Thanks for your prompt response. I am going to try both. Regarding this answer that you recommended - https://stackoverflow.com/questions/34428886/discrete-fourier-transformation-from-a-list-of-x-y-points/34432195#34432195

what would be my angular frequencies from this API - https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.lombscargle.html

The x and y arguments are straightforward and are available to me from the CSV file. What about the third one ? 

That's the angular frequencies at which you want to evaluate the periodogram at. In your case (otherwise-regular time series but with missing values), I would recommend using the angular frequencies that you would have had if you had computed a normal periodogram using the FFT on the whole time series, e.g. `np.linspace(0, np.pi/300.0, 8928//2)` (assuming your `x` is in seconds). The running time is O(len(x)*len(freqs)), though, so that may take a long time. You may want to reduce the number of points you sample at first for visualization, then you can zoom in at the full frequency resolution to an area of interest if there is lots of dead space.

--
Robert Kern
_______________________________________________
SciPy-User mailing list -- scipy-user@python.org
To unsubscribe send an email to scipy-user-leave@python.org
https://mail.python.org/mailman3/lists/scipy-user.python.org/
Member address: winash12@gmail.com