Коэффициент ранговой корреляции Спирмена основан на ранжировании входных данных. Предполагается, что входные переменные являются порядковыми, то есть имеют естественный порядок. Если вы передаете строки, этот порядок - это алфавитный порядок строки. Порядок различается для двух ваших версий данных:
In [16]: a1 = [0, 1, 2, 3, 4]
In [17]: b1 = [0, 1, 3, 2, 5]
In [18]: a2 = ['ESR1', 'TBC1D9', 'SCUBE2', 'EVL', 'NAT2']
In [19]: b2 = ['ESR1', 'TBC1D9', 'EVL', 'SCUBE2', 'CIRBP']
In [20]: from scipy.stats import rankdata
In [21]: rankdata(a1)
Out[21]: array([1., 2., 3., 4., 5.])
In [22]: rankdata(b1)
Out[22]: array([1., 2., 4., 3., 5.])
In [23]: rankdata(a2)
Out[23]: array([1., 5., 4., 2., 3.])
In [24]: rankdata(b2)
Out[24]: array([2., 5., 3., 4., 1.])