我有一个包含描述的pandas数据列,希望将该列拆分为多个列。
一个单元格可能包含的内容示例:
| 绝缘说明|
| --|
| 100 mm阁楼隔热|
| 75 mm阁楼隔热层|
| 绝缘(假设)|
| 没有绝缘|
理想的输出应该是2列-一列是测量值(在可能的情况下,mm之前的整数),第二列是“mm”之后的所有文本或没有数字的所有文本-我试图使用“mm”分割它们,但我没有得到想要的输出。
| 绝缘厚度|绝缘|
| --|--|
| 100 |阁楼绝缘|
| 75 |阁楼绝缘|
| 楠|绝缘(假设)|
| 楠|没有绝缘|
我尝试使用str.split()来拆分单元格,并将'mm'作为要查找的模式,但这不起作用。df_split = df['Insulation-description'].str.split('mm', expand=True, regex=r'[0-9]*').add_prefix('Insulation-description_')
我也尝试了str.extract(),如下所示:df_split = df['Insulation-description'].str.extract(r'(?P<InsulationThickness>(\d+))(?P<Insulation>)(\D+)')
这将数字提取到InsulationThickness列中,但将Insulation列留空。
1条答案
按热度按时间pgccezyw1#
使用
str.extractall
:输出量:
regex demo
更新问题:
输出量: