在Pandas-Dataframe中获取行或列的最小值及其索引位置
让我们讨论一下如何在数据框架的行和列中找到最小值以及它们的索引位置。
a) 找出行和列之间的最小值:
Dataframe.min() :这个函数返回给定对象中数值的最小值。如果输入是一个系列,该方法将返回一个标量,它将是该系列中数值的最小值。如果输入的是一个数据框架,那么该方法将返回一个系列的最小值,即数据框架中指定轴的最小值。默认情况下,该轴是索引轴。
1)获取每一列的最小值:
使用min()函数来寻找索引轴上的最小值。
代码 :
# 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)获取每一行的最小值:
在具有’axis = 1’属性的数据框架上使用min()函数来查找行轴上的最小值。
代码 :
# 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)获取每一列的最小值而不跳过无值 :
在有Na值的数据框架上使用min()函数,该数据框架具有’skipna = False’属性,以找到列轴上的最小值。
代码 :
# 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)获取单列的最小值 :
在一个系列上使用min()函数,找出该系列的最小值。
代码 :
# 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
b) 获取行索引标签或行和列中最小值的位置:
Dataframe.idxmin() :该函数返回所请求的轴上首次出现的最小值的索引。在寻找任何索引上的最小值的索引时,所有的NA/空值都被排除。
1)获取每一列中最小值的行索引标签:
使用idxmin()函数来查找沿索引轴的最小值的索引/标签。
代码 :
# 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 position\label of
# minimum values in every column
minvalueIndexLabel = df.idxmin()
minvalueIndexLabel
输出
2)获取每行最小值的列名:。
使用带有’axis = 1’属性的idxmin()函数来查找沿列轴的最小值的索引/标签。
代码 :
# 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 position\label of
# minimum values in every row
minvalueIndexLabel = df.idxmin(axis = 1)
minvalueIndexLabel
输出