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

Python中如何从DataFrame指定列的取值中删除特定数据

解决方法

直接对ID列做逐行自定义处理即可,不需要先执行explode操作,核心逻辑是嵌套遍历筛选带b的元素,示例代码如下:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'ID': [[['a1'], ['b1']], [['a2'],['a5'],['b2']], [['a3'],['a6'],['b3']], [['a4'], ['b4']]],
    'occ': [3,1,6,2]
})

# 处理ID列:展平嵌套列表+筛选含b的元素,每行仅1个符合条件元素直接取第一个值
df['ID'] = df['ID'].apply(lambda x: [i for sublist in x for i in sublist if 'b' in i][0])

print(df)

运行后输出结果和预期完全一致:

ID  occ
0  b1    3
1  b2    1
2  b3    6
3  b4    2
补充说明

如果实际场景中某行可能存在多个含b的元素,可以调整处理逻辑保留列表格式,或者根据需求做字符串拼接、二次explode等操作即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 02:45:01