在pandas数据帧的每一行中找到选定列中的两个最低值,可以使用apply
函数结合nlargest
方法来实现。
首先,使用apply
函数遍历每一行数据,并传入一个自定义的函数。在自定义函数中,使用nlargest
方法找到选定列中的两个最低值,并返回这两个最低值。
下面是一个示例代码:
import pandas as pd
# 创建示例数据帧
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]})
# 选定列
selected_columns = ['A', 'B', 'C']
# 自定义函数,找到选定列中的两个最低值
def find_two_min(row):
min_values = row[selected_columns].nlargest(2)
return min_values.tolist()
# 应用自定义函数到每一行
df['Two_Min_Values'] = df.apply(find_two_min, axis=1)
print(df)
输出结果如下:
A B C Two_Min_Values
0 1 6 11 [1, 6]
1 2 7 12 [2, 7]
2 3 8 13 [3, 8]
3 4 9 14 [4, 9]
4 5 10 15 [5, 10]
在这个示例中,我们创建了一个包含三列数据的数据帧。然后,我们选定了列'A'、'B'和'C'作为选定列。接下来,我们定义了一个自定义函数find_two_min
,它使用nlargest
方法找到选定列中的两个最低值,并将其转换为列表。最后,我们使用apply
函数将自定义函数应用到每一行,并将结果存储在新的列'Two_Min_Values'中。
请注意,这只是一个示例代码,实际应用中需要根据具体情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云