要按行查找数据框中唯一的最大值,当存在两个或更多最大值时,可以使用以下代码示例来实现:
import pandas as pd
# 创建示例数据框
data = {'col1': [1, 2, 3, 4],
'col2': [5, 6, 7, 8],
'col3': [9, 10, 11, 12]}
df = pd.DataFrame(data)
# 按行查找最大值
max_values = df.max(axis=1)
# 查找唯一的最大值
unique_max = max_values.unique()
# 检查是否存在多个最大值
if len(unique_max) > 1:
# 输出多个最大值
for max_val in unique_max:
max_rows = df[df.eq(max_val).any(axis=1)]
print("最大值为: ", max_val)
print(max_rows)
else:
# 输出唯一的最大值
max_val = unique_max[0]
max_rows = df[df.eq(max_val).any(axis=1)]
print("最大值为: ", max_val)
print(max_rows)
这段代码首先创建一个示例数据框,然后使用max()
函数按行查找最大值。接下来,使用unique()
函数查找唯一的最大值,并检查是否存在多个最大值。如果存在多个最大值,则使用eq()
函数和any()
函数查找包含最大值的行,并输出相应的结果。如果只有一个最大值,则直接输出该最大值和包含该最大值的行。
注意:这里假设数据框中的所有列都是数值类型。如果数据框中包含非数值类型的列,可能需要进行额外的数据处理。