将python中的列拆分为两列

2024-04-25 08:28:08 发布

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

我想将pandas dataframe的“Comparated Image Type”列的条目(始终是一个包含6个字母的字符串)拆分为两个新列,其中一个包含原始列的前三个字母,另一个包含原始列的最后三个字母

Name    BaseImage Type  Compared Image Type
 2       oldNeg             semNeg
 2       oldNeu             perNeu
 2       oldNeu             semNeu
 2       oldNeu             newNeu
 2       oldNeg             perNeg

到目前为止,我只知道如何在某个字符(例如“,”)后拆分列,如果有任何帮助,我将不胜感激


Tags: 字符串nameimagedataframepandastype字母条目
1条回答
网友
1楼 · 发布于 2024-04-25 08:28:08

您有str访问权限:

df['col1'] = df['Compared Image Type'].str[:3]
df['col2'] = df['Compared Image Type'].str[3:]

输出:

   Name BaseImage Type Compared Image Type col1 col2
0     2         oldNeg              semNeg  sem  Neg
1     2         oldNeu              perNeu  per  Neu
2     2         oldNeu              semNeu  sem  Neu
3     2         oldNeu              newNeu  new  Neu
4     2         oldNeg              perNeg  per  Neg

根据您的数据,您还可以使用类似的方法使用某些字符拆分列,这里是大写字母[A-Z]

df['Compared Image Type'].str.extract('^(\w*)([A-Z]\w*)')

输出:

     0    1
0  sem  Neg
1  per  Neu
2  sem  Neu
3  new  Neu
4  per  Neg

相关问题 更多 >