我有一个数据集,大致采用这种简化形式:
id Fan Pos
10001 32.83 A/B
10005 71.60 A/B
10010 24.23 E/F
10011 48.81 G/H
字符串
我需要“解包”Pos变量,并生成n个不同版本的数据集,其中包含解析的Pos变量的所有可能组合。最后的结果需要是一个Pandas df类似于这样的东西:
Set id Fan Pos
1 10001 32.83 A
1 10005 71.60 A
1 10010 24.23 E
1 10011 48.81 G
2 10001 32.83 A
2 10005 71.60 A
2 10010 24.23 E
2 10011 48.81 H
. . . .
. . . .
. . . .
16 10001 32.83 B
16 10005 71.60 B
16 10010 24.23 F
16 10011 48.81 H
型
在这种情况下,4行中有2^4 = 16个Pos变量的唯一组合(见下文)。请注意,上面的每个Set都是下面列出的16种Pos变量组合中的1种。
问题是,这个过程将重复发生,行数将发生变化,这当然意味着组合的数量将发生变化(2^nrows =?未来)。
我的第一个想法是硬编码一系列循环来实现这一点,但由于行数在将来会发生变化,因此循环的数量必须动态地链接到行数。
有人能提出一个更有效的方法来实现这一目标吗?
2条答案
按热度按时间qnyhuwrf1#
如果我理解正确的话,你可以使用
itertools.product
:字符串
图纸:
型
lokaqttq2#
另一种可能的解决方案:
字符串
输出量:
型