In [1]:
import pandas as pd
import timeit

In [2]:
s = pd.Series(['a', 'b', 'c', 'd', 'e'])

In [3]:
print(s)


0    a
1    b
2    c
3    d
4    e
dtype: object

In [4]:
s_swap = pd.Series(s.index.values, s.values)

In [5]:
print(s_swap)


a    0
b    1
c    2
d    3
e    4
dtype: int64

In [6]:
print(s.values)


['a' 'b' 'c' 'd' 'e']

In [7]:
print(type(s.values))


<class 'numpy.ndarray'>

In [8]:
print(s.index.values)


[0 1 2 3 4]

In [9]:
print(type(s.index.values))


<class 'numpy.ndarray'>

In [10]:
s_swap = pd.Series(s.index, s)

In [11]:
print(s_swap)


a    0
b    1
c    2
d    3
e    4
dtype: int64

In [12]:
loop = 10000

result = timeit.timeit(lambda: pd.Series(s.index.values, s.values), number=loop)
print(result / loop)


8.694580160081386e-05

In [13]:
result = timeit.timeit(lambda: pd.Series(s.index, s), number=loop)
print(result / loop)


0.00010916587258689105

In [14]:
s_large = pd.concat([s] * 100000)

In [15]:
print(len(s_large))


500000

In [16]:
loop = 100

result = timeit.timeit(lambda: pd.Series(s_large.index.values, s_large.values), number=loop)
print(result / loop)


0.005923357829451561

In [17]:
result = timeit.timeit(lambda: pd.Series(s_large.index, s_large), number=loop)
print(result / loop)


0.006492725329007953