How to do logarithmic wavelength binning (in Python) in order to find redshift? In Tonry and Davis (1979), p.1513, they formulated a cross-correlation method for extracting velocity redshifts:

Theory of Correlation Analysis
a) Introduction
Let $g(n)$ be the spectrum of a galaxy whose redshift and velocity dispersion are to be found and let $t(n)$ be a template spectrum of zero redshift and instrumentally broadened stellar-line profiles. These spectra are discretely sampled into $N$ bins, labeeled by bin number $n$; the relationship between wavelength and bin number is
$$n = A \ln \lambda + B$$
Because the spectra are binned linearly with $\ln \lambda$ a velocity redshift is a uniform linear shift. The spectra are assumed periodic with period $N$ [...]

They bin the linear spectra into logarithmic wavelength scale. Similar work was done by Baldry et. al (2014) and I have inserted relevant excerpt from TD79. I understand that log wavelength binning is a pre-requisite of cross-correlation procedure.
I have been trying to follow this approach and trying to rebin the linear spectra (3000 to 9000 Angstroms) in equal intervals of log wavelength. Could someone please give me a guidance about how to do this logarithmic re-binning  in Python?
Here the text as picture:
I think you could just take the natural log of your wavelength scale, then re-bin this onto a new log of wavelength scale generate using np.linspace().
Your new scale would be generated using the maximum and minimum values of your raw log of wavelength scale then it is up to you to define the amount of bin in the new homogenous log scale.
To re-bin the raw log of wavelength scale onto the homogenous log of wavelength scale you would assign fractions of the old flux values into the new bins where the fractions are determined by the fraction of the old bin (that the flux value was in) that overlaps the new bin.
In the end you will need this to be on kilometres per second or a unit of velocity. I expect you would simply multiply the scale by the speed of light although I have experienced slight loss of precision when I do this.