gpt4 book ai didi

python - 在 Python 中获取两个列表组合的最佳方法是什么 -

转载 作者:太空宇宙 更新时间:2023-11-04 04:37:25 24 4
gpt4 key购买 nike

这是我想做的。

我有两个 Pandas 数据框

元素 list 和购买数量

ITEM, QTY    
A,1
B,2
C,3

每个项目可用的位置。一件商品可以在多个地点购买。

ITEM, LOCATION
A, LOC1
B, LOC2
B, LOC3
C, LOC4
C, LOC5

我需要找出可以购买 ITEMS 的所有可能组合

组合1

A, LOC1
B, LOC2
C, LOC4

组合2

A, LOC1
B, LOC2
C, LOC5

组合3

A, LOC1
B, LOC3
C, LOC4

组合4

A, LOC1
B, LOC3
C, LOC5

最佳答案

您可以使用 itertools.product。对于可变数量的变量,您可以使用字典。

from itertools import product

d = df2.groupby('ITEM')['LOCATION'].apply(list).to_dict()

dfs = {i: pd.DataFrame({'LOCATION': j}).assign(ITEM=d.keys())
for i, j in enumerate(product(*d.values()), 1)}

print(dfs)

{1: LOCATION ITEM
0 LOC1 A
1 LOC2 B
2 LOC4 C,
2: LOCATION ITEM
0 LOC1 A
1 LOC2 B
2 LOC5 C,
3: LOCATION ITEM
0 LOC1 A
1 LOC3 B
2 LOC4 C,
4: LOCATION ITEM
0 LOC1 A
1 LOC3 B
2 LOC5 C}

关于python - 在 Python 中获取两个列表组合的最佳方法是什么 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51386017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com