如何将列表类型的sequence_movie_ids列拆分为两个不同长度的新列
实现方案
以下为Pandas环境下的操作代码:
直接通过列表列的str访问器做切片即可完成拆分:
# 存储除最后一个元素外的所有值 df['sequence_movie_ids_prefix'] = df['sequence_movie_ids'].str[:-1] # 仅存储最后一个元素 df['sequence_movie_ids_last'] = df['sequence_movie_ids'].str[-1]
异常场景适配
- 若你的数据中存在长度为0的空列表,上述操作会返回
NaN,可通过fillna补充默认值,示例如下:# 空列表对应的最后一个元素默认设为0,可按需修改 df['sequence_movie_ids_last'] = df['sequence_movie_ids'].str[-1].fillna(0) - 若希望原列表长度为1时,前缀列返回空列表而非
NaN,可改用apply自定义逻辑:df['sequence_movie_ids_prefix'] = df['sequence_movie_ids'].apply(lambda x: x[:-1] if len(x) > 0 else [])
内容的提问来源于stack exchange,提问作者شیوا پاساراد
相关产品推荐
相关产品推荐

