I’m trying to filter the group by count from a pandas dataframe so I only end up with values over a certain amount.
Example dataframe:
| Name | Thing | Count |
|---|---|---|
| Fred | Apple | 1 |
| Harry | Banana | 1 |
| Sonia | Banana | 1 |
| Pete | Apple | 1 |
| Tracy | Apple | 1 |
df.groupby(["Thing"]).sum()['Count']
Current output:
| Thing | |
|---|---|
| Apple | 3 |
| Banana | 2 |
But my desired output is to only include a Thing if the sum value is more than 2:
| Thing | |
|---|---|
| Apple | 3 |
I can only find examples of filtering df columns when using groupby. How do you filter based on the aggregated values?
>Solution :
Just filter it
out = df.groupby(["Thing"]).sum()['Count'].loc[lambda x : x>2]