Skip to content Skip to sidebar Skip to footer

How To Create All Combinations Column Wise For Multiple Variables In Pandas?

For a given range for n variables. I have taken n=3 as an example. A : [1,3] B: [5,10,12] C: [100,113] Note the values in the above range can be float as well. How can we create

Solution 1:

Using Itertools.product I can make all combinations of a list, afterwards you can write each combination to your DataFrame

import itertools

A = [1, 3]
B = [5, 10, 12]
C = [100, 113]

a = [A, B, C]

print(list(itertools.product(*a)))
# Outputs [(1, 5, 100), (1, 5, 113), (1, 10, 100), (1, 10, 113), (1, 12, 100), (1, 12, 113), (3, 5, 100), (3, 5, 113), (3, 10, 100), (3, 10, 113), (3, 12, 100), (3, 12, 113)]

idx = ['c{}'.format(i) for i in range(1, len(data)+1)]
data = list(itertools.product(*a))
df = pd.DataFrame(data, index=idx, columns=list('abc')).T

df

    c1   c2   c3   c4   c5   c6   c7   c8   c9  c10  c11  c12
a    1    1    1    1    1    1    3    3    3    3    3    3
b    5    5   10   10   12   12    5    5   10   10   12   12
c  100  113  100  113  100  113  100  113  100  113  100  113

Post a Comment for "How To Create All Combinations Column Wise For Multiple Variables In Pandas?"