📅  最后修改于: 2023-12-03 15:07:45.400000             🧑  作者: Mango
Pandas 是一个强大的 Python 库,用于数据操作和分析。当我们需要在 Pandas 数据框中选择具有最大值和最小值的行时,可以使用以下两种方法:
在 Pandas 数据框中,每一列都是一个 Pandas Series。我们可以先使用 idxmax
和 idxmin
函数找到最大值和最小值所在的索引位置,然后使用 loc
或者 iloc
找到具有最大值和最小值的行。
import pandas as pd
# 创建一个 Pandas 数据框
data = {'name':['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'score':[98, 86, 92, 78, 85]}
df = pd.DataFrame(data)
# 找到具有最大值和最小值的行
max_idx = df['score'].idxmax()
min_idx = df['score'].idxmin()
# 使用 loc 选择最大值和最小值行
print(df.loc[[max_idx, min_idx]])
# 使用 iloc 选择最大值和最小值行
print(df.iloc[[max_idx, min_idx]])
这段代码将打印出具有最大值和最小值的行,输出结果如下:
name score
0 Alice 98
3 David 78
Pandas 还提供了 nlargest
和 nsmallest
函数,可以直接返回具有最大值和最小值的行。这两个函数都需要指定需要选择的列名,以及选择的行数。
import pandas as pd
# 创建一个 Pandas 数据框
data = {'name':['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'score':[98, 86, 92, 78, 85]}
df = pd.DataFrame(data)
# 使用 nlargest 选择最大值行
print(df.nlargest(1, 'score'))
# 使用 nsmallest 选择最小值行
print(df.nsmallest(1, 'score'))
这段代码将打印出具有最大值和最小值的行,输出结果如下:
name score
0 Alice 98
name score
3 David 78
以上就是在 Pandas 数据框中选择具有最大值和最小值的行的两种方法。如果你对 Pandas 还不够熟悉,可以继续学习 Pandas 的其他内容。