Select row with maximum and minimum value in Pandas dataframe
Let’s see how can we select row with maximum and minimum value in Pandas dataframe with help of different examples.
Consider this dataset.
# importing pandas and numpy import pandas as pd import numpy as np # data of 2018 drivers world championship dict1 = { 'Driver' :[ 'Hamilton' , 'Vettel' , 'Raikkonen' , 'Verstappen' , 'Bottas' , 'Ricciardo' , 'Hulkenberg' , 'Perez' , 'Magnussen' , 'Sainz' , 'Alonso' , 'Ocon' , 'Leclerc' , 'Grosjean' , 'Gasly' , 'Vandoorne' , 'Ericsson' , 'Stroll' , 'Hartley' , 'Sirotkin' ], 'Points' :[ 408 , 320 , 251 , 249 , 247 , 170 , 69 , 62 , 56 , 53 , 50 , 49 , 39 , 37 , 29 , 12 , 9 , 6 , 4 , 1 ], 'Age' :[ 33 , 31 , 39 , 21 , 29 , 29 , 31 , 28 , 26 , 24 , 37 , 22 , 21 , 32 , 22 , 26 , 28 , 20 , 29 , 23 ]} # creating dataframe using DataFrame constructor df = pd.DataFrame(dict1) print (df.head( 10 )) |
Output:
Using max on Dataframe –
Code #1: Shows max on Driver, Points, Age columns.
# importing pandas and numpy import pandas as pd import numpy as np # data of 2018 drivers world championship dict1 = { 'Driver' :[ 'Hamilton' , 'Vettel' , 'Raikkonen' , 'Verstappen' , 'Bottas' , 'Ricciardo' , 'Hulkenberg' , 'Perez' , 'Magnussen' , 'Sainz' , 'Alonso' , 'Ocon' , 'Leclerc' , 'Grosjean' , 'Gasly' , 'Vandoorne' , 'Ericsson' , 'Stroll' , 'Hartley' , 'Sirotkin' ], 'Points' :[ 408 , 320 , 251 , 249 , 247 , 170 , 69 , 62 , 56 , 53 , 50 , 49 , 39 , 37 , 29 , 12 , 9 , 6 , 4 , 1 ], 'Age' :[ 33 , 31 , 39 , 21 , 29 , 29 , 31 , 28 , 26 , 24 , 37 , 22 , 21 , 32 , 22 , 26 , 28 , 20 , 29 , 23 ]} # creating dataframe using DataFrame constructor df = pd.DataFrame(dict1) # the result shows max on # Driver, Points, Age columns. print (df. max ()) |
Output:
Code #2: Who scored max points
# importing pandas and numpy import pandas as pd import numpy as np # data of 2018 drivers world championship dict1 = { 'Driver' :[ 'Hamilton' , 'Vettel' , 'Raikkonen' , 'Verstappen' , 'Bottas' , 'Ricciardo' , 'Hulkenberg' , 'Perez' , 'Magnussen' , 'Sainz' , 'Alonso' , 'Ocon' , 'Leclerc' , 'Grosjean' , 'Gasly' , 'Vandoorne' , 'Ericsson' , 'Stroll' , 'Hartley' , 'Sirotkin' ], 'Points' :[ 408 , 320 , 251 , 249 , 247 , 170 , 69 , 62 , 56 , 53 , 50 , 49 , 39 , 37 , 29 , 12 , 9 , 6 , 4 , 1 ], 'Age' :[ 33 , 31 , 39 , 21 , 29 , 29 , 31 , 28 , 26 , 24 , 37 , 22 , 21 , 32 , 22 , 26 , 28 , 20 , 29 , 23 ]} # creating dataframe using DataFrame constructor df = pd.DataFrame(dict1) # Who scored more points ? print (df[df.Points = = df.Points. max ()]) |
Output:
Code #3: What is the maximum age
# importing pandas and numpy import pandas as pd import numpy as np # data of 2018 drivers world championship dict1 = { 'Driver' :[ 'Hamilton' , 'Vettel' , 'Raikkonen' , 'Verstappen' , 'Bottas' , 'Ricciardo' , 'Hulkenberg' , 'Perez' , 'Magnussen' , 'Sainz' , 'Alonso' , 'Ocon' , 'Leclerc' , 'Grosjean' , 'Gasly' , 'Vandoorne' , 'Ericsson' , 'Stroll' , 'Hartley' , 'Sirotkin' ], 'Points' :[ 408 , 320 , 251 , 249 , 247 , 170 , 69 , 62 , 56 , 53 , 50 , 49 , 39 , 37 , 29 , 12 , 9 , 6 , 4 , 1 ], 'Age' :[ 33 , 31 , 39 , 21 , 29 , 29 , 31 , 28 , 26 , 24 , 37 , 22 , 21 , 32 , 22 , 26 , 28 , 20 , 29 , 23 ]} # creating dataframe using DataFrame constructor df = pd.DataFrame(dict1) # what is the maximum age ? print (df.Age. max ()) |
Output:
Code #4: Which row has maximum age in the dataframe | who is the oldest driver ?
# importing pandas and numpy import pandas as pd import numpy as np # data of 2018 drivers world championship dict1 = { 'Driver' :[ 'Hamilton' , 'Vettel' , 'Raikkonen' , 'Verstappen' , 'Bottas' , 'Ricciardo' , 'Hulkenberg' , 'Perez' , 'Magnussen' , 'Sainz' , 'Alonso' , 'Ocon' , 'Leclerc' , 'Grosjean' , 'Gasly' , 'Vandoorne' , 'Ericsson' , 'Stroll' , 'Hartley' , 'Sirotkin' ], 'Points' :[ 408 , 320 , 251 , 249 , 247 , 170 , 69 , 62 , 56 , 53 , 50 , 49 , 39 , 37 , 29 , 12 , 9 , 6 , 4 , 1 ], 'Age' :[ 33 , 31 , 39 , 21 , 29 , 29 , 31 , 28 , 26 , 24 , 37 , 22 , 21 , 32 , 22 , 26 , 28 , 20 , 29 , 23 ]} # creating dataframe using DataFrame constructor df = pd.DataFrame(dict1) # Which row has maximum age | # who is the oldest driver ? print (df[df.Age = = df.Age. max ()]) |
Output:
Using min on Dataframe –
Code #1: Shows min on Driver, Points, Age columns.
# importing pandas and numpy import pandas as pd import numpy as np # data of 2018 drivers world championship dict1 = { 'Driver' :[ 'Hamilton' , 'Vettel' , 'Raikkonen' , 'Verstappen' , 'Bottas' , 'Ricciardo' , 'Hulkenberg' , 'Perez' , 'Magnussen' , 'Sainz' , 'Alonso' , 'Ocon' , 'Leclerc' , 'Grosjean' , 'Gasly' , 'Vandoorne' , 'Ericsson' , 'Stroll' , 'Hartley' , 'Sirotkin' ], 'Points' :[ 408 , 320 , 251 , 249 , 247 , 170 , 69 , 62 , 56 , 53 , 50 , 49 , 39 , 37 , 29 , 12 , 9 , 6 , 4 , 1 ], 'Age' :[ 33 , 31 , 39 , 21 , 29 , 29 , 31 , 28 , 26 , 24 , 37 , 22 , 21 , 32 , 22 , 26 , 28 , 20 , 29 , 23 ]} # creating dataframe using DataFrame constructor df = pd.DataFrame(dict1) # the result shows min on # Driver, Points, Age columns. print (df. min ()) |
Output:
Code #2: Who scored less points
# importing pandas and numpy import pandas as pd import numpy as np # data of 2018 drivers world championship dict1 = { 'Driver' :[ 'Hamilton' , 'Vettel' , 'Raikkonen' , 'Verstappen' , 'Bottas' , 'Ricciardo' , 'Hulkenberg' , 'Perez' , 'Magnussen' , 'Sainz' , 'Alonso' , 'Ocon' , 'Leclerc' , 'Grosjean' , 'Gasly' , 'Vandoorne' , 'Ericsson' , 'Stroll' , 'Hartley' , 'Sirotkin' ], 'Points' :[ 408 , 320 , 251 , 249 , 247 , 170 , 69 , 62 , 56 , 53 , 50 , 49 , 39 , 37 , 29 , 12 , 9 , 6 , 4 , 1 ], 'Age' :[ 33 , 31 , 39 , 21 , 29 , 29 , 31 , 28 , 26 , 24 , 37 , 22 , 21 , 32 , 22 , 26 , 28 , 20 , 29 , 23 ]} # creating dataframe using DataFrame constructor df = pd.DataFrame(dict1) # Who scored less points ? print (df[df.Points = = df.Points. min ()]) |
Output:
Code #3: Which row has minimum age in the dataframe | who is the youngest driver
# importing pandas and numpy import pandas as pd import numpy as np # data of 2018 drivers world championship dict1 = { 'Driver' :[ 'Hamilton' , 'Vettel' , 'Raikkonen' , 'Verstappen' , 'Bottas' , 'Ricciardo' , 'Hulkenberg' , 'Perez' , 'Magnussen' , 'Sainz' , 'Alonso' , 'Ocon' , 'Leclerc' , 'Grosjean' , 'Gasly' , 'Vandoorne' , 'Ericsson' , 'Stroll' , 'Hartley' , 'Sirotkin' ], 'Points' :[ 408 , 320 , 251 , 249 , 247 , 170 , 69 , 62 , 56 , 53 , 50 , 49 , 39 , 37 , 29 , 12 , 9 , 6 , 4 , 1 ], 'Age' :[ 33 , 31 , 39 , 21 , 29 , 29 , 31 , 28 , 26 , 24 , 37 , 22 , 21 , 32 , 22 , 26 , 28 , 20 , 29 , 23 ]} # creating dataframe using DataFrame constructor df = pd.DataFrame(dict1) # Which row has maximum age | # who is the youngest driver ? print (df[df.Age = = df.Age. min ()]) |
Output: