我有一个数据框:
df = pd.DataFrame(rows,columns=['proid','sku', 'qty'])
以及独特的SKU列表
skus = ["SKU1", "SKU2", "SKU3"]
现在df可能不包含所有组合proid
和sku
的行,其中sku
来自uniq list skus
例如:
# proid sku qty
# 1 p1 SKU1 1
# 2 p1 SKU3 2
# 3 p2 SKU1 3
我想以这样一种方式向数据帧添加行,即所有proid
sku
组合都以默认的0值存在
结果:
# proid sku qty
# 1 p1 SKU1 1
# 2 p1 SKU3 2
# 3 p2 SKU1 3
# 4 p1 SKU2 0
# 5 p2 SKU2 0
# 6 p2 SKU3 0
您可以使用
itertools.product
和concat
设置
那么
浓度
另一个行之有效的答案是:
从所有可能索引的多索引创建数据帧
左连接到原始数据帧
输出:
或者,创建多索引;重新索引原始数据帧,用0填充空值
相关问题 更多 >
编程相关推荐