在熊猫数据框中找到排列的方法

我有一个包含水果和国家的数据框,而且各个国家到水果的距离

假设我有一个像这样的熊猫数据框,那么它以列表示水果,值是按最小距离排序的国家/地区。目标是设定采摘水果的最低总距离。问题是一个国家必须只有一种水果

(index) banana  apple  orange
0       brazil  italy  brazil
1       china   iran   russia
2       ecuador usa    uae

在上表中,我知道哪个国家是最好的,但是巴西出现了两次。如何知道巴西香蕉或橙子会更好?

我还有一个未排序的数据框,只是显示距离的值,如下所示:

(index) banana apple orange
brazil   20     30     21
italy    31     14     23
france   99     44     33
china    41      30    99

我正在寻找一种使用置换来找到更好的选项的方法,但是如何使用数据帧和numpy数组来做到这一点呢? 最好的方法是使用itertools.permutation?