gpt4 book ai didi

python - 如果 Python Pandas 中的列包含任何特殊字符,则重复行

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:01 24 4
gpt4 key购买 nike

我编写了一个小型 python 程序来处理我收到的订单。但由于我用来合并 df 的引用值发生了变化。

示例:

Data

问题是,我曾经将旧采购订单号合并到新采购订单号,以便我知道客户正在返回。但最近我开始收到部分订单,其中 3c456 而不是 3c456/4c345。这意味着我的客户现在只续订一种产品。我的 pd.merge 代码不再找到部分顺序。

我的代码是

df = pd.merge(old_PO_file, New_PO_file, on =PO-number)

因为新的 PO 是部分的,可能是斜杠之前或之后的值。如果该单元格中有斜杠 (/),我想复制 PO 编号列中的所有行

如果可以的话请告诉我。

谢谢

最佳答案

您可以将 str.splitstack 结合使用,为 join 创建 Series 到原始 DataFrame:

print (df)
Sold-to PO-Number Sold-to-party
0 1234 6d1234 abc company
1 2345 3c456/4c345 edf company
2 5679 9f639 mno company

df1 = df.drop('PO-Number', axis=1) \
.join(df['PO-Number'] \
.str \
.split('/', expand=True) \
.stack() \
.reset_index(level=1, drop=True).rename('PO-Number')) \
.reset_index(drop=True)

print (df1)
Sold-to Sold-to-party PO-Number
0 1234 abc company 6d1234
1 2345 edf company 3c456
2 2345 edf company 4c345
3 5679 mno company 9f639

关于python - 如果 Python Pandas 中的列包含任何特殊字符,则重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41486867/

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