close

how to convert Index into list?

Hello Guys, How are you all? Hope You all Are Fine. Today We Are Going To learn about how to convert Index into list in Python. So Here I am Explain to you all the possible Methods here.

Without wasting your time, Let’s start This Article.

Table of Contents

how to convert Index into list?

  1. how to convert Index into list?

    You can use tolist or list:
    print df.index.tolist() print list(df.index)

  2. convert Index into list

    You can use tolist or list:
    print df.index.tolist() print list(df.index)

Method 1

You can use tolist or list:

print df.index.tolist()

print list(df.index)

But the fastest solution is convert np.arry by values tolist 

print df.index.values.tolist()

Sample:

import pandas as pd

idx = pd.Index([u'Newal', u'Saraswati Khera', u'Tohana'])
print idx
Index([u'Newal', u'Saraswati Khera', u'Tohana'], dtype='object')

print idx.tolist()
[u'Newal', u'Saraswati Khera', u'Tohana']

print list(idx)
[u'Newal', u'Saraswati Khera', u'Tohana']

If you need encode UTF-8:

print [x.encode('UTF8') for x in idx.tolist()]
['Newal', 'Saraswati Khera', 'Tohana']

Another solution:

print [str(x) for x in idx.tolist()]
['Newal', 'Saraswati Khera', 'Tohana']

but it would fail if the unicode string characters do not lie in the ascii range.

Timings:

import pandas as pd
import numpy as np

#random dataframe
np.random.seed(1)
df = pd.DataFrame(np.random.randint(10, size=(3,3)))
df.columns = list('ABC')
df.index = [u'Newal', u'Saraswati Khera', u'Tohana']
print df

print df.index
Index([u'Newal', u'Saraswati Khera', u'Tohana'], dtype='object')

print df.index.tolist()
[u'Newal', u'Saraswati Khera', u'Tohana']

print list(df.index)
[u'Newal', u'Saraswati Khera', u'Tohana']

print df.index.values.tolist()
[u'Newal', u'Saraswati Khera', u'Tohana']


In [90]: %timeit list(df.index)
The slowest run took 37.42 times longer than the fastest. This could mean that an intermediate result is being cached 
100000 loops, best of 3: 2.18 µs per loop

In [91]: %timeit df.index.tolist()
The slowest run took 22.33 times longer than the fastest. This could mean that an intermediate result is being cached 
1000000 loops, best of 3: 1.75 µs per loop

In [92]: %timeit df.index.values.tolist()
The slowest run took 62.72 times longer than the fastest. This could mean that an intermediate result is being cached 
1000000 loops, best of 3: 787 ns per loop

Conclusion

It’s all About this issue. Hope all Methods helped you a lot. Comment below Your thoughts and your queries. Also, Comment below which Method worked for you? Thank You.

Also, Read