简体   繁体   中英

How to get all combinations of three columns in a dataframe in pandas python>

All possible combinations of three columns

I am not able to do it with itertools.combinations or itertools.permutations.

Input dataframe :

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

Expected dataframe :

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

Use itertools.product :

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM