Pandas:找到每一列的最大/最小值
在本文中,我们将介绍如何在Pandas中找到DataFrame中各列的最大/最小值。
阅读更多:Pandas 教程
找最大值和最小值
虽然每个DataFrame都有一个max()和min()方法可以找到所有列的最大值和最小值,但需要注意一下几点:
- 如果DataFrame中有NaN值,则默认情况下max()/min()方法将返回NaN值。但是,可以使用skipna参数来忽略NaN值。
- 如果DataFrame中有字符串类型的列,max()/min()方法将返回该列内字符串的最大/最小值,而不是字符串长度。
- 如果DataFrame中有bool类型的列,True的值大于False的值。
以下是找到最大值和最小值的示例代码:
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12]}
df = pd.DataFrame(data)
# 找到每列的最大值和最小值
print(df.max()) # 输出A列的最大值为4,B列的最大值为8,C列的最大值为12
print(df.min()) # 输出A列的最小值为1,B列的最小值为5,C列的最小值为9
找每列的最大值和最小值
要找到DataFrame中每列的最大值和最小值,可以使用apply()函数和lambda表达式。
以下是找到每列最大值和最小值的示例代码:
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12]}
df = pd.DataFrame(data)
# 用apply()函数和lambda表达式找到每列的最大值和最小值
max_values = df.apply(lambda x: x.max())
min_values = df.apply(lambda x: x.min())
print(max_values) # 输出A列的最大值为4,B列的最大值为8,C列的最大值为12
print(min_values) # 输出A列的最小值为1,B列的最小值为5,C列的最小值为9
找特定列的最大值和最小值
要找到特定列的最大值和最小值,可以使用DataFrame的getitem()方法和max()和min()方法。
以下是找到特定列最大值和最小值的示例代码:
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12]}
df = pd.DataFrame(data)
# 找到特定列的最大值和最小值
max_A_value = df['A'].max()
min_A_value = df['A'].min()
print(max_A_value) # 输出A列的最大值为4
print(min_A_value) # 输出A列的最小值为1
总结
我们可以使用Pandas中的max()和min()方法,apply()函数和getitem()方法来找到DataFrame中各列的最大/最小值。需要注意的是,NaN值、字符串类型和bool类型数据的处理方式。
极客教程