拆分遇到第一个数字的数据帧单元

2024-04-27 11:31:14 发布

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

我的数据帧中有一列,我想在遇到第一个数值的地方拆分它。以下是我的数据示例:

                                                    col
1                           Beb il Gisire, contrata 102
12                    Bungemma, territorium 90, 115, 130
13                               Territorium Binhise 188
14                                Contrata Bir Bahar 205
15                                Contrata Bir HaJar 168
16                                 Bir Kibir, contrata 7
17      Lu Burgu; Suburbium Castri Maris 5, 15, 23, 6...

我不能按空格或数字分开,因为它们会改变。所需输出为:

    1                           Beb il Gisire, contrata           102
    12                          Bungemma, territorium             90, 115, 130
    13                          Territorium Binhise               188
    14                          Contrata Bir Bahar                205
    15                          Contrata Bir HaJar                168
    16                          Bir Kibir, contrata               7
    17                          Lu Burgu; Suburbium Castri Maris  5, 15, 23, 6...

Tags: 数据illubirterritoriumhajarbungemmagisire
2条回答

一种选择是:

df['col1'] = df['col'].str.split('(\d)').str[0]
df['col2'] = df['col'].replace(to_replace=r'\b'+df['col1']+r'\b', value='',regex=True)

输出:

                               col1              col2  
0           Beb il Gisire, contrata               102  
1             Bungemma, territorium      90, 115, 130  
2               Territorium Binhise               188  
3                Contrata Bir Bahar               205  
4                Contrata Bir HaJar               168  
5               Bir Kibir, contrata                 7  
6  Lu Burgu; Suburbium Castri Maris   5, 15, 23, 6...

是的

使用'(.*?)(\d.*)'regex模式捕获/拆分组

In [237]: df.col.str.extract('(.*?)(\d.*)')
Out[237]:
                                   0                 1
1            Beb il Gisire, contrata               102
12             Bungemma, territorium      90, 115, 130
13               Territorium Binhise               188
14                Contrata Bir Bahar               205
15                Contrata Bir HaJar               168
16               Bir Kibir, contrata                 7
17  Lu Burgu; Suburbium Castri Maris   5, 15, 23, 6...

相关问题 更多 >