Im trying to retrieve only the max values (including the multi index values) from a pandas dataframe that has multiple indexes. The dataframe I have is generated via a groupby and column selection ('tOfmAJyI') like this:
df.groupby('id')['tOfmAJyI'].value_counts()
Out[4]:
id tOfmAJyI
3 mlNXN 4
SSvEP 2
hCIpw 2
5 SSvEP 2
hCIpw 1
mlNXN 1
11 mlNXN 2
SSvEP 1
...
What I would like to achieve is to get the max values including their corresponding index values. So something like:
id tOfmAJyI
3 mlNXN 4
5 SSvEP 2
11 mlNXN 2
...
Any ideas how I can achieve this? I was able to get the id and max value but I'm still trying to get the corresponding value of 'tOfmAJyI'.
Pandas DataFrame max() Method The max() method returns a Series with the maximum value of each column. By specifying the column axis ( axis='columns' ), the max() method searches column-wise and returns the maximum value for each row.
As we can see in the output, midx MultiIndex has 3 levels.
groupby
+ head
df.groupby(level=0).head(1)
Out[1882]:
id tOfmAJyI
3 mlNXN 4
5 SSvEP 2
11 mlNXN 2
Name: V, dtype: int64
Or
df.loc[df.groupby(level=0).idxmax()]
Out[1888]:
id tOfmAJyI
3 mlNXN 4
5 SSvEP 2
11 mlNXN 2
Name: V, dtype: int64
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