Получите минимальные значения в строках или столбцах с их позицией индекса в Pandas-Dataframe

Опубликовано: 27 Марта, 2022

Давайте обсудим, как найти минимальные значения в строках и столбцах Dataframe, а также их позицию в индексе.

а) Найдите минимальное значение среди строк и столбцов:

Dataframe.min (): эта функция возвращает минимум значений в данном объекте. Если входными данными является серия, метод вернет скаляр, который будет минимальным из значений в серии. Если входными данными является фрейм данных, то метод вернет серию с минимумом значений по указанной оси в фрейме данных. По умолчанию ось является осью индекса.

1) Get minimum values of every column :
Use min() function to find the minimum value over the index axis.

Код:

# import pandas library
import pandas as pd
  
# list of Tuples
data = [
          (20, 16, 23),
          (30, None, 11),
          (40, 34, 11),
          (50, 35, None),
          (60, 40, 13)
        ]
  
# creating a DataFrame object
df = pd.DataFrame(data, index = ["a", "b", "c", "d", "e"],
                     columns = ["x", "y", "z"])
  
# getting a series object containing 
# minimum value from each column
# of given dataframe
minvalue_series = df.min()
  
minvalue_series

Выход:

2) Get minimum values of every row :
Use min() function on a dataframe with ‘axis = 1’ attribute to find the minimum value over the row axis.

Code :

# import pandas library
import pandas as pd
  
# list of Tuples
data = [
          (20, 16, 23),
          (30, None, 11),
          (40, 34, 11),
          (50, 35, None),
          (60, 40, 13)
        ]
  
# creating a DataFrame object
df = pd.DataFrame(data, index = ["a", "b", "c", "d", "e"],
                     columns = ["x", "y", "z"])
  
# getting a series object containing 
# minimum value from each row
# of given dataframe
minvalue_series = df.min(axis = 1)
  
minvalue_series

Выход:

3) Get minimum values of every column without skipping None Value :
Use min() function on a dataframe which has Na value with ‘skipna = False’ attribute to find the minimum value over the column axis.

Код:

# import pandas library
import pandas as pd
  
# list of Tuples
data = [
          (20, 16, 23),
          (30, None, 11),
          (40, 34, 11),
          (50, 35, None),
          (60, 40, 13)
        ]
  
# creating a DataFrame object
df = pd.DataFrame(data, index = ["a", "b", "c", "d", "e"],
                     columns = ["x", "y", "z"])
  
# getting a series object containing 
# minimum value from each column
# of given dataframe without
# skipping None value
minvalue_series = df.min(skipna = False)
  
minvalue_series

Выход:

4) Get minimum value of a single column :
Use min() function on a series to find the minimum value in the series.

Code :

# import pandas library
import pandas as pd
  
# list of Tuples
data = [
          (20, 16, 23),
          (30, None, 11),
          (40, 34, 11),
          (50, 35, None),
          (60, 40, 13)
        ]
  
# creating a DataFrame object
df = pd.DataFrame(data, index = ["a", "b", "c", "d", "e"],
                     columns = ["x", "y", "z"])
  
# getting a minimum value
# from column "x"
minvalue = df["x"].min()
  
minvalue

Выход:

 20

б) Получить метку индекса строки или позицию минимальных значений среди строк и столбцов:

Dataframe.idxmin (): эта функция возвращает индекс первого вхождения минимума по запрошенной оси. При нахождении индекса минимального значения по любому индексу все значения NA / NULL исключаются.

1) Get row index label of minimum value in every column :
Use idxmin() function to find the index/label of the minimum value along the index axis.

Code :

# import pandas library
import pandas as pd
  
# list of Tuples
data = [
          (20, 16, 23),
          (30, None, 11),
          (40, 34, 11),
          (50, 35, None),
          (60, 40, 13)
        ]
  
# creating a DataFrame object
df = pd.DataFrame(data, index = ["a", "b", "c", "d", "e"],
                     columns = ["x", "y", "z"])
  
# get the index positionlabel of
# minimum values in every column
minvalueIndexLabel = df.idxmin()
  
minvalueIndexLabel

Выход

2) Get Column names of minimum value in every row :
Use idxmin() function with ‘axis = 1’ attribute to find the index/label of the minimum value along the column axis.

Code :

# import pandas library
import pandas as pd
  
# list of Tuples
data = [
          (20, 16, 23),
          (30, None, 11),
          (40, 34, 11),
          (50, 35, None),
          (60, 40, 13)
        ]
  
# creating a DataFrame object
df = pd.DataFrame(data, index = ["a", "b", "c", "d", "e"],
                     columns = ["x", "y", "z"])
  
# get the index positionlabel of
# minimum values in every row
minvalueIndexLabel = df.idxmin(axis = 1)
  
minvalueIndexLabel

Выход

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.