如何对 DataFrame 中数组型列的每行元素进行前 N 项截取
发布时间 - 2026-02-02 00:00:00 点击率:次本文介绍在 pandas 中高效截取 dataframe 某列(元素为 python 列表)中每行数组的前 n 个元素的方法,适用于嵌套列表结构的数据清洗与特征预处理场景。
当 DataFrame 的某一列(或多个列)存储的是 Python 列表(如 [[1,2,3,4], [2,2,3,3]]),而你需要统一截取每行列表的前 n 个元素时,最简洁、向量化且安全的方式是使用 .str 访问器配合切片操作——尽管列中存储的是列表而非字符串,Pandas 的 .str 访问器对可迭代序列(包括 list、tuple、numpy.ndarray 等)同样支持索引与切片。
✅ 正确做法(推荐)

n = 2 result = df.apply(lambda x: x.str[:n]) print(result)
输出:
a b 0 [1, 2] [6, 7] 1 [2, 2] [6, 6]
⚠️ 注意事项:
- .str[:n] 能安全处理空列表([])、长度不足 n 的列表(自动截取全部,不报错),具有良好的鲁棒性;
- 该方法要求列中所有元素均为可切片的序列类型(如 list, tuple, np.ndarray),若混入 None、标量或不可迭代对象,会触发 AttributeError;
- 若需仅处理特定列(如只处理 'a' 列),可直接作用于单列:df['a'] = df['a'].str[:n];
- 避免使用 df.applymap() 或逐行 for 循环,性能低且易出错。
? 替代方案(显式映射,更直观但略冗长):
df[['a', 'b']] = df[['a', 'b']].applymap(lambda x: x[:n] if isinstance(x, (list, tuple)) else x)
但 applymap 在 Pandas 2.1+ 已弃用,推荐统一使用 .str 访问器。
? 小结:利用 Pandas 对序列类型的 .str 统一接口进行切片,是处理数组型列截断任务的首选方案——简洁、高效、健壮,且天然兼容缺失值与变长数组。
# python
# app
# 数据清洗
# 可迭代对象
# numpy
# pandas
# for
# 字符串
# 循环
# 接口
# 访问器
# 切片
# 对象
# 的是
# 迭代
# 多个
# 均为
# 适用于
# 报错
# 而非
# 可直接
# 而你
# 具有良好
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
电商网站制作价格怎么算,网上拍卖流程以及规则?
如何在Ubuntu系统下快速搭建WordPress个人网站?
企业网站制作这些问题要关注
如何快速搭建支持数据库操作的智能建站平台?
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
如何在自有机房高效搭建专业网站?
香港服务器WordPress建站指南:SEO优化与高效部署策略
详解Android中Activity的四大启动模式实验简述
Laravel如何配置任务调度?(Cron Job示例)
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何快速完成中国万网建站详细流程?
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
郑州企业网站制作公司,郑州招聘网站有哪些?
中山网站推广排名,中山信息港登录入口?
详解Oracle修改字段类型方法总结
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
Bootstrap整体框架之CSS12栅格系统
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
香港网站服务器数量如何影响SEO优化效果?
EditPlus中的正则表达式 实战(2)
如何在建站之星绑定自定义域名?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
动图在线制作网站有哪些,滑动动图图集怎么做?
如何快速生成凡客建站的专业级图册?
网站优化排名时,需要考虑哪些问题呢?
详解Android——蓝牙技术 带你实现终端间数据传输
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
原生JS获取元素集合的子元素宽度实例
Laravel如何使用模型观察者?(Observer代码示例)
javascript基于原型链的继承及call和apply函数用法分析
,怎么在广州志愿者网站注册?
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
昵图网官方站入口 昵图网素材图库官网入口
MySQL查询结果复制到新表的方法(更新、插入)
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
大连网站制作公司哪家好一点,大连买房网站哪个好?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
canvas 画布在主流浏览器中的尺寸限制详细介绍
免费视频制作网站,更新又快又好的免费电影网站?
如何在云主机上快速搭建网站?

