如何将逗号分隔的文本与 pandas 中的相应文本拆分和连接

问题描述 投票:0回答:1

因此,我尝试将一列中以逗号分隔的文本连接起来,并将其与相对列中相应位置的文本连接起来。英语不是我的母语,但我认为下面的照片 所需的输出列,将阐明我需要做什么。

enter image description here

CNTRY       CUSTOMERID          ACC_TYPE                TheDesiredResult
JO,AE,QA    HJM23,JKU78,OI9PUJ  AH,SH,AS                JO,HJM23,AH - AE,JKU78,SH - QA,OI9PUJ,AS

我正在尝试在 pandas 中执行此操作,因为在 excel 文本到列中无法达到所需的结果,因为 每行都有不同数量的字符串,以逗号分隔。我尝试了 youtube 但不行 编写代码来解决这个问题。

提前致谢!

我尝试将用逗号分隔的数据吐入不同的列,然后将它们连接回来, 但这是一个巨大的失败。因为每个属性所需的列数将是疯狂的 这种方法。

python pandas slice text-manipulation
1个回答
0
投票

假设每列(

每行
)中有相同数量的(,),你可以尝试:

# optional if you have only 3 columns
cols = ["CNTRY", "CUSTOMERID", "ACC_TYPE"]

splits = df[cols].apply(lambda s: s.str.split(",\s*"))

df["TheDesiredResult"] = " - ".join(
    ",".join(lst) for vals in splits.to_numpy() for lst in zip(*vals))

输出:

CNTRY 客户ID ACC_类型 期望的结果
JO、AE、QA HJM23,JKU78,OI9PUJ 啊,SH,AS JO,HJM23,AH - AE,JKU78,SH - QA,OI9PUJ,AS
© www.soinside.com 2019 - 2024. All rights reserved.