在pandas中使用两个分隔符将列值拆分为三

2024-09-28 01:27:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一个excel文件,其中一列的值为:

col1
22125051|2/136|Possible Match
nan|3/4|Not Match
22125051|1/26|Match

这些数据最初在不同的列中,但我想获得所述列的值并将数据放入一个列中,我使用.apply()和.join()来完成,然后添加了一个分隔符|来分隔这些值

现在,我希望按值拆分列,然后将其放入现有.xlsx文件中的特定列中。 说df3 = pd.read_excel('type_primary_data.xlsx') and.列[37],.列[39],.列[40]

期望输出

^{pr2}$

我不知道在大熊猫身上最好的方法是什么。在

更新

结果我需要将adsl列与现有的.xlsx文件匹配 因此,当adsl与上述列匹配时,我还想获得svc_no和比较结果以及匹配的adsl。在

我的输出应该是

adsl         svc_no       port      Result
3/4          nan          3/4       Not Match
1/26         22125051     1/26      Match
2/136        22125051     2/136     Possible Match

Tags: 文件数据nomatchnotnanxlsxexcel
2条回答

尝试使用测向str.split方法:

df =df[col1].str.split('|', expand=True)

然后,重命名comlumns,因为它们将是带有以下内容的数字:

^{pr2}$

试试看。我不能评论,因为声誉,但我认为这是你正在寻找的。在

选项1

我很喜欢在regex模式中使用extract命名

pat = '(?P<svc_no>.*)\|(?P<port>.*)\|(?P<Result>.*)'
df.col1.str.extract(pat, expand=True)

     svc_no   port          Result
0  22125051  2/136  Possible Match
1       nan    3/4       Not Match
2  22125051   1/26           Match

方案2

^{pr2}$

相关问题 更多 >

    热门问题