python pandas slice by row 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