You need to enable JavaScript to run this app. 如何提取pandas混合单值与列表的列的末尾元素生成新列
优惠活动
大模型
产品
解决方案
定价
更多

如何提取pandas混合单值与列表的列的末尾元素生成新列

你可以通过apply()配合类型判断实现需求,完整代码如下:

import pandas as pd

# 构造原始DataFrame
df = pd.DataFrame([
    (142, [1,2]),
    (144, 3),
    (144, 1),
    (142, 1),
    (142, [1,3]),
    (144, [1,5]),
    (142, 2)
], columns=['ID', 'Column_1'])

# 自定义处理函数:列表取最后一位,非列表直接返回
def extract_value(x):
    if isinstance(x, list):
        return x[-1]
    return x

df['new_column'] = df['Column_1'].apply(extract_value)

如果偏好更简洁的写法,可以直接用lambda表达式实现:

df['new_column'] = df['Column_1'].apply(lambda x: x[-1] if isinstance(x, list) else x)

如果你的数据中还存在元组等其他需要取最后一位的可迭代类型,可以把判断条件替换为pd.api.types.is_list_like(x),适配更多场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 18:57:03