pandas subset by index code example
Example 1: dataframe slice by list of values
In [1]: df = pd.DataFrame({'A': [5,6,3,4], 'B': [1,2,3,5]})
In [2]: df
Out[2]:
A B
0 5 1
1 6 2
2 3 3
3 4 5
In [3]: df[df['A'].isin([3, 6])]
Out[3]:
A B
1 6 2
2 3 3
Example 2: python - row slice dataframe by number of rows
df.iloc[[1, 5]]
df.iloc[1:6]
df.iloc[[1, 5], df.columns.get_loc('Shop')]
df.iloc[[1, 5], df.columns.get_indexer(['Shop', 'Category'])]
Example 3: pandas df by row index
indices = [133, 22, 19, 203, 14, 1]
df_by_indices = df.iloc[indices, :]
Example 4: 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
Example 5: indexing column in pandas
In [8]: age_sex = titanic[["Age", "Sex"]]
In [9]: age_sex.head()
Out[9]:
Age Sex
0 22.0 male
1 38.0 female
2 26.0 female
3 35.0 female
4 35.0 male