pandas 查找最值

pandas 查找最值

pandas 查找最值

1. 查找最大值和最小值

Pandas 提供了 max()min() 方法来查找 Series 或 DataFrame 中的最大值和最小值。

示例代码:

import pandas as pd

data = {'A': [1, 3, 5, 7],
        'B': [2, 4, 6, 8]}
df = pd.DataFrame(data)

max_value = df['A'].max()
min_value = df['B'].min()

print(f'最大值为:{max_value}')
print(f'最小值为:{min_value}')

运行结果:

最大值为:7
最小值为:2

2. 查找最大值和最小值的索引

除了查找最大值和最小值之外,有时候我们还需要知道最大值和最小值所在的索引位置,Pandas 提供了 idxmax()idxmin() 方法来实现。

示例代码:

import pandas as pd

data = {'A': [1, 3, 5, 7],
        'B': [2, 4, 6, 8]}
df = pd.DataFrame(data)

max_index = df['A'].idxmax()
min_index = df['B'].idxmin()

print(f'最大值的索引为:{max_index}')
print(f'最小值的索引为:{min_index}')

运行结果:

最大值的索引为:3
最小值的索引为:0

3. 查找前N个最大值和最小值

如果我们想要查找 Series 或 DataFrame 中的前N个最大值或最小值,可以使用 nlargest()nsmallest() 方法。

示例代码:

import pandas as pd

data = {'A': [1, 3, 5, 7],
        'B': [2, 4, 6, 8]}
df = pd.DataFrame(data)

top_2_max_values = df['A'].nlargest(2)
bottom_2_min_values = df['B'].nsmallest(2)

print(f'前2个最大值为:\n{top_2_max_values}')
print(f'前2个最小值为:\n{bottom_2_min_values}')

运行结果:

前2个最大值为:
3    7
2    5
Name: A, dtype: int64

前2个最小值为:
0    2
1    4
Name: B, dtype: int64

4. 查找非重复值的最值

有时候我们需要在去除重复值后找到最大值或最小值,这时可以结合 unique() 方法和 max()min() 方法进行操作。

示例代码:

import pandas as pd

data = {'A': [1, 3, 3, 5, 7],
        'B': [2, 4, 4, 6, 8]}
df = pd.DataFrame(data)

unique_values = df['A'].unique()
max_value = df['B'].loc[df['A'] == unique_values.max()].max()
min_value = df['B'].loc[df['A'] == unique_values.min()].min()

print(f'不重复值中的最大值为:{max_value}')
print(f'不重复值中的最小值为:{min_value}')

运行结果:

不重复值中的最大值为:6
不重复值中的最小值为:2

通过上述示例,我们了解了如何在使用 Pandas 进行数据处理时查找最值。有关 Pandas 更多用法和 API,请参考 geek-docs.com 的官方文档。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程