我正在寻找一种有效的方法来连接和合并Pandas数据帧中的行

2024-05-16 20:09:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为熊猫中的数据集编写代码。为了简化我的问题,假设lu1={2,5,8,19}(lu1中的元素按升序排序)。我想知道如何在L1的基础上生成另一个集合l2={(2,5),(2,8),(2,19),(5,8),(5,19),(8,19)}。然后,基于L2,如何再次生成另一个集合l3={(2,5,8),(2,5,19),(2,8,19),(5,8,19)}。同样,基于lu3,如何生成lu4={(2,5,8,19)}。所以,从L_k(k-1)生成L_k的基本思想是

1)L_k中的每个元素都是一个k元组(a_1,…,a_k),使得a_1<;a_2<。。。&好的

2)如果(a_1,…,a_(k-1))和(b_1,…,b_(k-1))属于L_(k-1),那么如果a_i=b_i,i=1,…,k-2和a_(k-1)<;b_(k-1),它们可以组合在一起。这导致((a_1,…,a_(k-1),b_(k-1))作为L_k的k元组元素

我想知道我怎样才能有效地由熊猫生成上述集合,因为lU1可能有超过10万个元素。谢谢!你知道吗


Tags: 数据代码lt元素l1排序基础元组
1条回答
网友
1楼 · 发布于 2024-05-16 20:09:12

这应该能满足您的需求:

l1 = [2, 5, 8, 19]
l2 = [(i, j) for i in l1 for j in l1[l1.index(i)+1:]]
l3 = [(i, j, k) for i, j in l2 for k in  l1[l1.index(j)+1:]]
l4 = [(i, j, k, l) for i, j, k in l3 for l in  l1[l1.index(k)+1:]]

相关问题 更多 >