data = [['Supplier 1', 'Lane 1', 'NL', 'DE', 200],
['Supplier 2', 'Lane 1', 'NL', 'DE', 150],
['Supplier 3', 'Lane 1', 'NL', 'DE', 300],
['Supplier 1', 'Lane 2', 'NL', 'DE', 200],
['Supplier 2', 'Lane 2', 'NL', 'DE', 105],
['Supplier 3', 'Lane 2', 'NL', 'DE', 100]]
columns = ['supplier_name', 'lane_id', 'origin', 'destination', 'quoted_rates']
df = pd.DataFrame(data, columns=columns)
df.sort_values(by='quoted_rates').groupby('lane_id',as_index=False).first()
输出:
lane_id supplier_name origin destination quoted_rates
0 Lane 1 Supplier 2 NL DE 150
1 Lane 2 Supplier 3 NL DE 100