I think you can select index
by:
df.index
Or get_level_values
for MultiIndex
, but works also with index
:
#select by position
df.index.get_level_values(0)
#select by name of level
df.index.get_level_values('Name')
So you can use:
len(df.index)
Sample:
df = pd.DataFrame({'Name':['John','Joe','Sue'],
'Age':[40,50,60],
'Height':[180,175,155]})
print (df)
Age Height Name
0 40 180 John
1 50 175 Joe
2 60 155 Sue
df = df.set_index('Name')
print (df.index)
Index(['John', 'Joe', 'Sue'], dtype='object', name='Name')
print (df.index.get_level_values(0))
Index(['John', 'Joe', 'Sue'], dtype='object', name='Name')
print (df.index.get_level_values('Name'))
Index(['John', 'Joe', 'Sue'], dtype='object', name='Name')
print (len(df.index))
3