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

拆分DataFrame分隔列并重塑:提取车辆唯一传感器编码

解决方案

可以通过以下步骤处理原始DataFrame,得到仅包含Car_code和唯一传感器编码的目标结果:

import pandas as pd

# 原始DataFrame(用户提供的示例)
df = pd.DataFrame([['x','iii-2019-10-16','18/04/2019','115/556/879/115'],
                   ['x','iii-2019-10-16','21/07/2019','87/998/115'],
                   ['x','iii-2019-10-16','','115/556/879'],
                   ['x','zzz-2020-10-25','12/04/2022',''],
                   ['y','qqq-2018-05-28','10/12/2017','789/554/745'], 
                   ['y','qqq-2018-05-28','15/02/2018','789/554/75'],
                   ['y','ooo-2019-11-22','30/05/2019','55'],
                   ['y','rrr-16-12-2020','16/12/2020',''],
                   ['z','ppt-2019-12-03','07/02/2018','889/654/750'],
                   ['z','ttt-2019-12-03','28/05/2019','119/55/75'],
                   ['z','ttt-2019-12-03','09/09/2019'],
                   ['z','ttt-2019-12-03','30/09/2019']
                  ],
                  columns=['Car_code','car_model','update_Date','sensor_codes'])

# 1. 填充sensor_codes列的空值/缺失值为空字符串,避免后续分割报错
df['sensor_codes'] = df['sensor_codes'].fillna('')

# 2. 按/符号分割每个单元格的传感器编码为列表
df['sensor_codes'] = df['sensor_codes'].str.split('/')

# 3. 将列表拆分为多行,每个编码对应一行
exploded_df = df.explode('sensor_codes')

# 4. 过滤掉空的传感器编码行
filtered_df = exploded_df[exploded_df['sensor_codes'] != '']

# 5. 保留Car_code和传感器编码列,去重确保每个Car_code下编码唯一
result_df = filtered_df[['Car_code', 'sensor_codes']].drop_duplicates()

# 可选:重命名列名并重置索引,让结果更整洁
result_df = result_df.rename(columns={'sensor_codes': 'sensor_code'}).reset_index(drop=True)

print(result_df)

关键步骤说明:

  • 填充空值:原始数据存在sensor_codes为空或缺失的情况,填充为空字符串后能避免分割操作抛出异常。
  • 分割编码:用str.split('/')把多编码单元格转为列表格式,为拆分多行做准备。
  • 拆分多行:explode()方法将列表中的每个编码拆分为单独一行,同时保留对应的Car_code。
  • 过滤无效行:移除拆分后产生的空编码行,剔除无效数据。
  • 去重:通过drop_duplicates()确保同一Car_code下的传感器编码不重复。

运行后得到的结果示例(部分):

Car_code sensor_code
0         x         115
1         x         556
2         x         879
3         x          87
4         x         998
...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:52:49