uid iid val
uid
1 1 1 5 5.5
2 3 1 4 3.5
2 2 1 4 3.5
2 7 1 4 3.5
2 9 1 4 3.5
2 11 1 4 3.5
From the dataframe above, I want to remove the first column, which is:
uid
1
2
2
2
2
2
and extract
uid iid val
1 1 5 5.5
3 1 4 3.5
2 1 4 3.5
7 1 4 3.5
9 1 4 3.5
11 1 4 3.5
Can someone help?
In order to reset the index after groupby() we will use the reset_index() function.
groupby() to Iterate over Data frame Groups. DataFrame. groupby() function in Python is used to split the data into groups based on some criteria.
You can avoid including the uid
in the index in the first place by passing group_keys=False
to the groupby
df.groupby('uid', group_keys=False).apply(lambda x: x.tail(len(x) // 5))
uid iid val
4 1 5 5.5
Use reset_index
or droplevel
:
df = df.reset_index(level=0, drop=True)
df = df.reset_index(level='uid', drop=True)
Or:
df.index = df.index.droplevel(0)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With