我一直在寻找这个问题的解决方案,但没有找到任何针对这个问题的具体解决方案. 我的数据帧 struct 如下:

   column_1    column_2     column_3
a     2           3            7
b     9           4            3
c     1           5            2
        

我希望找到上述数据帧的所有排列,而不在每个单独的排列中重复行或列.

前面的内容不是很清楚,所以下面是我试图实现的输出:

Out: [(2,4,2),(2,5,3),(9,3,2),(9,5,7),(1,3,3),(1,4,7)]

换句话说,我期望的是n!结果

我try 的解决方案是:

permutations = list(product(df['column_1'], df['column_2'], df['column_3']))
print(permutations)

这将返回n^n个组合.

如有任何帮助,我们不胜感激!谢谢

推荐答案

您可以在行索引和NumPy索引上使用itertools.permutations:

from itertools import permutations

idx = list(permutations(range(len(df))))

df.to_numpy()[idx, np.arange(df.shape[1])].tolist()

输出:

[[2, 4, 2], [2, 5, 3], [9, 3, 2], [9, 5, 7], [1, 3, 3], [1, 4, 7]]

Python相关问答推荐

如何找到满足各组口罩条件的第一行?

组/群集按字符串中的子字符串或子字符串中的字符串轮询数据框

根据列值添加时区

改进大型数据集的框架性能

我的字符串搜索算法的平均时间复杂度和最坏时间复杂度是多少?

* 动态地 * 修饰Python中的递归函数

在Python中计算连续天数

如何杀死一个进程,我的Python可执行文件以sudo启动?

如何使用使用来自其他列的值的公式更新一个rabrame列?

如何使用OpenGL使球体遵循Python中的八样路径?

基于Scipy插值法的三次样条系数

Pandas—MultiIndex Resample—我不想丢失其他索引的信息´

将链中的矩阵乘法应用于多组值

如何将一组组合框重置回无 Select tkinter?

jsonschema日期格式

删除特定列后的所有列

Django在一个不是ForeignKey的字段上加入'

如何批量训练样本大小为奇数的神经网络?

极地数据帧:ROLING_SUM向前看

如何计算二十面体每条三角形边的中点