我有一个包含 4 行的 pandas 数据框:
df:
col1 col2 col3 col4
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 C3 C4
D1 D2 D3 D4
我如何找到选择此数据框的两行的所有可能组合。在这种情况下,我可以用 4C2 = 6 种可能的方式从 4 行中选择 2 行
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
等等......
请您参考如下方法:
首先,您需要使用 itertools 找到所有组合,然后使用 combinations 的输出作为数据框的索引。您将获得给定行数的所有可能数据帧。
from itertools import combinations
for index in list(combinations(df.index,2)):
print(df.loc[index,:])
print('\n')
输出将是:
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
