slice dataframe on index code example
Example 1: python - row slice dataframe by number of rows
df.iloc[[1, 5]] # Get rows 1 and 5
df.iloc[1:6] # Get rows 1 to 5 inclusive
df.iloc[[1, 5], df.columns.get_loc('Shop')] # Get only specific column
df.iloc[[1, 5], df.columns.get_indexer(['Shop', 'Category'])] # Get multiple columns
Example 2: add an index column in range dataframe
df = df.loc[df.index.repeat(df['a'])]
df['c'] = df.groupby(level=0).cumcount() + 1
df = df.reset_index(drop=True)
print (df)
a b c
0 1 x 1
1 2 y 1
2 2 y 2
3 3 z 1
4 3 z 2
5 3 z 3