Grouping strings in pandas



Let`s see how to group rows in Pandas Dataframe with some examples.

Example 1:

To group rows in Pandas, we`ll start by creating pandas dataframe first.

# pandas import

import pandas as pd

 
# sample dataframe

example = { `Team` : [ ` Arsenal` , ` Manchester United` , `Arsenal` ,

`Arse nal` , `Chelsea` , `Manchester United` ,

  `Manchester United` , ` Chelsea` , `Chelsea` , ` Chelsea` ],

 

`Player` : [ ` Ozil` , ` Pogba` , `Lucas` , `Aubameyang` ,

`Hazard` , `Mata` , `Lukaku` , ` Morata`

`Giroud` , `Kante` ],

  

`Goals` : [ 5 , 3 , 6 , 4 , 9 , 2 , 0 , 5 , 2 , 3 ]}

 

df = pd.DataFrame (example)

 

print (df)

Now , create grouping object means an object that represents that particular group.

total_goals = df [ `Goals` ]. groupby (df [ `Team` ])

  
# print tool value

print (total_goals.mean ()) 

Output:

Example 2 :

import pandas as pd

 
# example dataframe

example = { `Team` : [ `Australia` , ` England` , `South Africa` ,

`Australia` , `England` , ` India` , `India` ,

`South Africa` , `England` , ` India` ],

 

`Player` : [ ` Ricky Ponting` , `Joe Root` , ` Hashim Amla` ,

  `David Warner` , ` Jos Buttler` , `Virat Kohli` ,

`Rohit Sharma` , ` David Miller` , `Eoin Morgan` ,

`Dinesh Karthik` ],

 

`Runs` : [ 345 , 336 , 689 , 490 , 989 , 672 , 560 , 455 , 342 , 376 ],

 

`Salary` : [ 34500 , 33600 , 68900 , 49000 , 98899 ,

67562 , 56760 , 45675 , 34542 , 31176 ]}

 

df = pd.DataFrame (example)

  

total_salary = df [ `Salary` ]. groupby (df [ ` Team` ])

 
# print tool value

print (total_salary.mean ()) 

Output: