You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按条件拆分Pandas DataFrame列:分离颜色与带修饰词的车辆

解决DataFrame中颜色与车辆信息的条件拆分问题

你的问题核心是车辆部分可能包含small/big这类修饰词,单纯按最后一个单词拆分无法识别这类多词的车辆名称。可以用正则表达式精准匹配车辆部分的模式,实现正确拆分:

具体实现代码

首先构建示例DataFrame:

import pandas as pd

data = {
    'MyCol': [
        'Red Motor',
        'Green Taxi',
        'Light blue small Taxi',
        'Light blue big Taxi'
    ]
}
df = pd.DataFrame(data)

然后用str.extract结合正则表达式拆分:

# 正则匹配:捕获车辆部分(Motor/Taxi/small Taxi/big Taxi),其余为颜色
df[['color', 'vehicle']] = df['MyCol'].str.extract(r'^(.*?)\s+(small\s+Taxi|big\s+Taxi|Motor|Taxi)$', expand=True)

拆分结果

拆分后DataFrame如下:

MyColcolorvehicle
Red MotorRedMotor
Green TaxiGreenTaxi
Light blue small TaxiLight bluesmall Taxi
Light blue big TaxiLight bluebig Taxi

正则逻辑说明

  • ^(.*?)\s+:匹配开头到车辆部分前的所有内容(非贪婪模式,避免过度匹配),作为颜色列
  • (small\s+Taxi|big\s+Taxi|Motor|Taxi)$:精准匹配所有可能的车辆格式,作为车辆列

内容的提问来源于stack exchange,提问作者test tes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:30:56