gpt4 book ai didi

python - 从 DataFrame 创建排列而不重复

转载 作者:行者123 更新时间:2023-12-02 01:28:16 26 4
gpt4 key购买 nike

我已搜索此问题的解决方案,但尚未找到针对此问题的任何特定内容。我的数据框的结构如下:

   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!结果

我尝试的解决方案是:

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

这将返回 n^n 组合。

感谢任何帮助!谢谢

最佳答案

您可以使用itertools.permutations关于行索引和 numpy 索引:

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 - 从 DataFrame 创建排列而不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73912280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com