如何将逗号分隔的文本与pandas中的posing列中的相应文本进行拆分和合并

ddrv8njm  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(90)

所以我尝试在一列中加入逗号分隔的文本,并将其与相对列中相应位置的文本连接起来。英语不是我的第一语言,但我认为下面的照片与期望的输出列,将阐明我需要做什么。
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中,text-to-column不能达到预期的结果,因为每行都有不同数量的逗号分隔的字符串。
提前感谢!
我尝试将逗号分隔的数据拆分到不同的列中,然后再将它们连接回去,但这是一个巨大的失败,因为这种方法每个属性所需的列数将是疯狂的。

3okqufwl

3okqufwl1#

假设你在每一列(* 每行 *)中有相同数量的(,),你可以尝试:

# 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| customerId| ACC_类型|理想结果|
| --|--|--|--|
| JO、AE、QA| HJM23、JKU78、OI9PUJ| AH,SH,AS| JO、HJM 23、AH - AE、JKU 78、SH - QA、OI 9PUJ、AS|

相关问题