# How to compute or calculate autocorrelations of a numeric Series using Pandas?

I learned about one of the fundamental concepts used in time series analysis in Python that is, autocorrelation. They are the measure of the correlation between a time series and a lagged version of itself which means that it measures how similar a data point is to the previous data point(s) in the `series`. However, I am unaware of how you can calculate this correlation of a numeric Pandas `series`, please provide me with some of the most efficient techniques available along with a simple code example that will help me solve my problem.

1 Like

Hey @mubashir_rizvi, You can use the `corr()` method to find the autocorrelation between the original series and the shifted series created with the help of the `shift()` method. The `shift()` method is used for shifting the index of a time series forward or backward by a specified number of periods called lag.

Hi @mubashir_rizvi You can use `np.corrcoef()` function, which computes the Pearson correlation coefficient between two arrays, or, as in this example, between two series.

We computed the correlation between the original time series and a lagged version of itself where the lag is determined by slicing the series using `seriess[:-lag]` and `series[lag:]` using a `lag` of value `1`.

To compute the autocorrelation between consecutive subsets of a time series, you can use the `rolling()` method in pandas. then specify a window size of 2 using the `window` parameter. The `corr()` method is then applied to calculate the correlation between the rolling window and a lagged version of the time series. To shift the time series, you can use the `shift()` method, which moves the index forward or backward by a specified number of periods, or lags. By default, the `shift()` method shifts the index by 1 period.