I have a pandas data frame having 4 rows:
df:
col1 col2 col3 col4
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 C3 C4
D1 D2 D3 D4
How do i find all possible combinations of selecting two rows of this data frame. In this case I can choose 2 rows from 4 rows in 4C2 = 6 possible ways
df1:
col1 col2 col3 col4
A1 A2 A3 A4
B1 B2 B3 B4
df2:
col1 col2 col3 col4
A1 A2 A3 A4
C1 C2 C3 C4
df3:
col1 col2 col3 col4
A1 A2 A3 A4
D1 D2 D3 D4
and so on.....
First, you need to find all the combinations using itertools
and then use the output of combinations
as index to your dataframe. You will get all the possible dataframes of the given number of rows.
from itertools import combinations
for index in list(combinations(df.index,2)):
print(df.loc[index,:])
print('\n')
The output will be:
col1 col2 col3 col4
0 A1 A2 A3 A4
1 B1 B2 B3 B4
col1 col2 col3 col4
0 A1 A2 A3 A4
2 C1 C2 C3 C4
col1 col2 col3 col4
0 A1 A2 A3 A4
3 D1 D2 D3 D4
col1 col2 col3 col4
1 B1 B2 B3 B4
2 C1 C2 C3 C4
col1 col2 col3 col4
1 B1 B2 B3 B4
3 D1 D2 D3 D4
col1 col2 col3 col4
2 C1 C2 C3 C4
3 D1 D2 D3 D4
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With