获取行或列中的最小值及其在 Pandas-Dataframe 中的索引位置
让我们讨论如何在 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)获取每列的最小值而不跳过 None Value :
在具有“skipna = False”属性的 Na 值的数据帧上使用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 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/null 值。
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
输出