Recipe: How to group rows in a Pandas DataFrame?
DATA MUNGING PYTHON PANDAS DATAFRAME PANDAS CHEATSHEET PANDAS DATAFRAME TUTORIAL

How to group rows in a Pandas DataFrame?

This recipe helps you group rows in a Pandas DataFrame
In [1]:
## How to group rows in a Pandas DataFrame
def Kickstarter_Example_89():
    print()
    print(format('How to group rows in a Pandas DataFrame','*^82'))

    import warnings
    warnings.filterwarnings("ignore")

    # load libraries
    import pandas as pd

    # Create a dataframe
    raw_data = {'regiment': ['Nighthawks', 'Nighthawks', 'Nighthawks', 'Nighthawks', 'Dragoons', 'Dragoons', 'Dragoons', 'Dragoons', 'Scouts', 'Scouts', 'Scouts', 'Scouts'],
                'company': ['1st', '1st', '2nd', '2nd', '1st', '1st', '2nd', '2nd','1st', '1st', '2nd', '2nd'],
                'name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze', 'Jacon', 'Ryaner', 'Sone', 'Sloan', 'Piger', 'Riani', 'Ali'],
                'preTestScore': [4, 24, 31, 2, 3, 4, 24, 31, 2, 3, 2, 3],
                'postTestScore': [25, 94, 57, 62, 70, 25, 94, 57, 62, 70, 62, 70]}
    df = pd.DataFrame(raw_data, columns = ['regiment', 'company', 'name', 'preTestScore', 'postTestScore'])
    print(); print(df)

    # Create a grouping object. In other words, create an object that
    # represents that particular grouping. 
    regiment_preScore = df['preTestScore'].groupby(df['regiment'])

    # Display the values of the each regiment's pre-test score
    print(); print(regiment_preScore.mean())
    print(); print(regiment_preScore.sum())
    print(); print(regiment_preScore.max())
    print(); print(regiment_preScore.min())
    print(); print(regiment_preScore.count())

Kickstarter_Example_89()
*********************How to group rows in a Pandas DataFrame**********************

      regiment company      name  preTestScore  postTestScore
0   Nighthawks     1st    Miller             4             25
1   Nighthawks     1st  Jacobson            24             94
2   Nighthawks     2nd       Ali            31             57
3   Nighthawks     2nd    Milner             2             62
4     Dragoons     1st     Cooze             3             70
5     Dragoons     1st     Jacon             4             25
6     Dragoons     2nd    Ryaner            24             94
7     Dragoons     2nd      Sone            31             57
8       Scouts     1st     Sloan             2             62
9       Scouts     1st     Piger             3             70
10      Scouts     2nd     Riani             2             62
11      Scouts     2nd       Ali             3             70

regiment
Dragoons      15.50
Nighthawks    15.25
Scouts         2.50
Name: preTestScore, dtype: float64

regiment
Dragoons      62
Nighthawks    61
Scouts        10
Name: preTestScore, dtype: int64

regiment
Dragoons      31
Nighthawks    31
Scouts         3
Name: preTestScore, dtype: int64

regiment
Dragoons      3
Nighthawks    2
Scouts        2
Name: preTestScore, dtype: int64

regiment
Dragoons      4
Nighthawks    4
Scouts        4
Name: preTestScore, dtype: int64


Stuck at work?
Can't find the recipe you are looking for. Let us know and we will find an expert to create the recipe for you. Click here
Companies using this Recipe
1 developer from Fidelity Investments
1 developer from Kenya Commercial Bank
1 developer from Nityo Infotech
1 developer from Vodafone
1 developer from Altimetrik
1 developer from HvH
1 developer from KPMG
1 developer from Renovite Technologies
1 developer from YASH Technologies
1 developer from ANAC