code: def csd_spectrogram(self, other, stride, fftlength=None, overlap=0,
                          window='hann', nproc=1, **kwargs):
          
          return spectral.average_spectrogram(
              (self, other),
              spectral.csd,
              stride,
              fftlength=fftlength,
              overlap=overlap,
              window=window,
              nproc=nproc,
              **kwargs
          )
docs: Calculate the cross spectral density spectrogram of this
             `TimeSeries` with 'other'.
  
          Parameters
          ----------
          other : `~gwpy.timeseries.TimeSeries`
              second time-series for cross spectral density calculation
  
          stride : `float`
              number of seconds in single PSD (column of spectrogram).
  
          fftlength : `float`
              number of seconds in single FFT.
  
          overlap : `float`, optional
              number of seconds of overlap between FFTs, defaults to the
              recommended overlap for the given window (if given), or 0
  
          window : `str`, `numpy.ndarray`, optional
              window function to apply to timeseries prior to FFT,
              see :func:`scipy.signal.get_window` for details on acceptable
              formats
  
          nproc : `int`
              maximum number of independent frame reading processes, default
              is set to single-process file reading.
  
          Returns
          -------
          spectrogram : `~gwpy.spectrogram.Spectrogram`
              time-frequency cross spectrogram as generated from the
              two input time-series.