我有一个包含字符串列的pandas数据集。单元格值由字母和数字组成,例如-'AB3 AB5 String'
。我想在字符串中数字的最后一个示例处将其拆分为2列。基本上-〉'AB3 AB5'
和'String'
。另一个例子是将'CD4 String Text'
拆分为'CD4'
和'String Text'
。
我试过用
df['New Column'] = df['Orignal Column'].str.split(pat='\d', n= -1).str[2]
这给了我所需结果的后半部分(即我们示例中的'String'
),而不是前半部分(即'String'
)。'AB3 AB5'
),因为上面的代码在每个数字示例处进行拆分,我选择了这样创建的列表的第3个元素,这完成了一半的工作。我尝试使用上述代码的变体来获得前半部分,但没有获得所需的输出。
1条答案
按热度按时间irtuqstp1#
如果只需要后一个字符串,不要使用
split
,而是使用带有字符串结束锚($
)的extract
。分割更贵,之后还需要切片。如果你必须有一个数字,否则你不想匹配:
输出: