import pandas as pd
df = pd.DataFrame({
'v1':[1,2,3,4,5,6],
'v2':[11,12,13,14,15,16]
}, index=['a', 'b','c','d','e','f'])
df
v1 | v2 | |
---|---|---|
a | 1 | 11 |
b | 2 | 12 |
c | 3 | 13 |
d | 4 | 14 |
e | 5 | 15 |
f | 6 | 16 |
is primarily label based, but may also be used with a boolean array.
df.loc[['b', 'a']]
v1 | v2 | |
---|---|---|
b | 2 | 12 |
a | 1 | 11 |
df.loc['a']
v1 1 v2 11 Name: a, dtype: int64
using slicing
df.loc['c':'f']
v1 | v2 | |
---|---|---|
c | 3 | 13 |
d | 4 | 14 |
e | 5 | 15 |
f | 6 | 16 |
df.loc[[True,False,False,False,False,True]] # length of boolean array must much index len
v1 | v2 | |
---|---|---|
a | 1 | 11 |
f | 6 | 16 |
using callable, must return one of from above
df.loc[lambda df_: (df_.v2 % 3) == 0]
v1 | v2 | |
---|---|---|
b | 2 | 12 |
e | 5 | 15 |
is primarily integer position based (from 0 to length-1 of the axis)
df.iloc[3:-2]
v1 | v2 | |
---|---|---|
d | 4 | 14 |