三列的所有可能组合

我无法使用itertools.combinations或itertools.permutations做到这一点。

输入数据框:

a   b   c
1   101 1001
2   102 1002
3   103 1003


预期的数据帧:

a   b   c
1   101 1001
1   101 1002
1   101 1003
1   102 1001
1   102 1002
1   102 1003
1   103 1001
1   103 1002
1   103 1003
2   101 1001
2   101 1002
2   101 1003
2   102 1001
2   102 1002
2   102 1003
2   103 1001
2   103 1002
2   103 1003
3   101 1001
3   101 1002
3   101 1003
3   102 1001
3   102 1002
3   102 1003
3   103 1001
3   103 1002
3   103 1003

最佳答案

使用itertools.product

from  itertools import product
#all columns
df = pd.DataFrame(list(product(*df.values.T)))
#if ned specify columns
#df = pd.DataFrame(list(product(*[df.a, df.b, df.c])))
print (df)

关于python - 如何在 Pandas 中获取数据框中三列的所有组合python>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57725376/

10-13 01:21