gpt4 book ai didi

python - 合并 2 个数据帧以生成一个包含重复值的文件

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:47 27 4
gpt4 key购买 nike

我有一个包含 2 列的 .XLSX 文件。

和。 Column 存储多个数据链接,并用分号分隔。我需要在输入时操作这个数据集,我很难思考该怎么做的最佳方向。

想到用(,)代替分号,然后将数据打包到字典中,其中a是'key',而成为列表'value'。

但是,我不确定这是最有效的途径。

d = {'<Name>':['FIL9791','FIL9799','FIL4056','FIL4056','FIL4057'],'<Item To Package>':['package_113572195;package_113594355','package_113572197;package_113594357','package_113566689;package_113591417','package_113566688;package_113591416','package_113566690;package_113591418']

df =pd.DataFrame(data=d)
df.head()

sku = df['<Name>']
upc = df['<Item To Package>']

PartToUPC = {}
PartToUPC[sku]=upc

下面是我需要文件的样子

A 列中的所有 SKU 及其 B 列中的单独包裹代码

FIL9791 | package_113572195

FIL9791 | package_113594355

FIL9799 | package_113572197

FIL9799 | package_113594357

等等

最佳答案

在将列拆分为两个值的列表后,您可以使用 .explode() 解决此问题。

import pandas as pd 
import numpy as np
from pandas.io.json import json_normalize
d = {'<Name>':['FIL9791','FIL9799','FIL4056','FIL4056','FIL4057'],'<Item To Package>':['package_113572195;package_113594355','package_113572197;package_113594357','package_113566689;package_113591417','package_113566688;package_113591416','package_113566690;package_113591418']}

df = pd.DataFrame(data=d)
df['<Item To Package>'] = df['<Item To Package>'].str.split(';')
df = df.explode('<Item To Package>')
print(df)

输出:

    <Name>  <Item To Package>
0 FIL9791 package_113572195
0 FIL9791 package_113594355
1 FIL9799 package_113572197
1 FIL9799 package_113594357
2 FIL4056 package_113566689
2 FIL4056 package_113591417
3 FIL4056 package_113566688
3 FIL4056 package_113591416
4 FIL4057 package_113566690
4 FIL4057 package_113591418

请记住,explode() 会保留您应用的列的原始索引。因此,如果您希望重置索引,因为您不需要它们来匹配原始索引。您可以添加:

df = df.reset_index(drop=True)
print(df)

输出:

    <Name>  <Item To Package>
0 FIL9791 package_113572195
1 FIL9791 package_113594355
2 FIL9799 package_113572197
3 FIL9799 package_113594357
4 FIL4056 package_113566689
5 FIL4056 package_113591417
6 FIL4056 package_113566688
7 FIL4056 package_113591416
8 FIL4057 package_113566690
9 FIL4057 package_113591418

关于python - 合并 2 个数据帧以生成一个包含重复值的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58269749/

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