Pandas查看前几行:head()与tail()使用方法
时间:2026-05-06 12:47:43 150浏览 收藏
head()和tail()是Pandas中最轻量、高效的数据快览利器,无需加载全量数据即可秒级预览前/后若干行,是数据读入、清洗和调试时不可替代的“第一眼检查工具”;但默认5行常显不足,需灵活调参(如head(10)查字段对齐、tail(3)揪异常尾行、head(0)极速获取schema),同时警惕空DataFrame误判、索引乱序误导、链式调用报错等实战陷阱——真正用好它们,能帮你避开80%因类型推断错误或结构误读引发的后续坑。

直接用 head() 和 tail() 看数据,别绕弯
这两个方法就是 Pandas 里最轻量、最常用的数据快览入口。它们不加载全表、不触发计算、不改原数据,纯读取前/后几行,适合刚读入 pd.read_csv() 或清洗中途快速确认结构。
默认显示 5 行,但多数时候你得主动调参数——因为 5 行经常不够看列名对齐、空值分布或类型异常:
df.head(10):想扫一眼字段是否错位、长文本截断情况,10 行比默认更稳df.tail(3):检查最后几条是不是意外混入的汇总行、分隔符、空行df.head(0):冷知识,能只返回列名和 dtypes,相当于“最小化 schema 预览”
为什么 head() 有时返回空或报错?常见陷阱在这儿
不是函数有问题,是数据状态或调用姿势不对:
- 空 DataFrame:
df.head()返回空DataFrame,但列名和 dtype 还在——容易误判为“没读进来”,其实只是源文件真为空 - 索引乱序或含重复值:某些操作(如多次
concat后未重置索引)会导致head()返回“看起来不连贯”的行,实际是索引跳变,不是数据丢失 - 链式调用中断:写成
pd.read_csv("x.csv").head().info()会报错,因为head()返回的是DataFrame,而info()不支持链式调用;应拆成两行或用pipe()
head() 和 tail() 的性能几乎为零,但要注意这个边界
它们底层是切片操作(df.iloc[:n] / df.iloc[-n:]),不扫描全量数据,所以哪怕 DataFrame 有千万行,head(10) 也秒出。但有两个例外:
- 如果 DataFrame 是 lazy 加载的(比如用
dask.dataframe或某些数据库连接器封装的 df),head()可能触发一次小查询,但依然远快于全量拉取 - 如果用了
query()、sort_values()等惰性操作还没compute(),那head()会强制执行上游——这时慢的不是head(),而是前面那个没显式触发的计算
别只盯着行数,顺手加个 print(df.dtypes) 或 df.info()
head() 只给你数据样例,看不出字段类型是否被误推(比如电话号变成 int64、时间字段是 object 而非 datetime64)。真实排查时,这三步常一起用:
df.head(3):看值长什么样print(df.dtypes):看 Pandas 怎么猜的类型df.describe(include='all'):补看每列的非空数、唯一值、top 值(尤其对object列)
类型错位往往在 head() 里看不出异样,等 merge 或 groupby 时报 TypeError: unhashable type 才发现——那时已经多走了三步路
本篇关于《Pandas查看前几行:head()与tail()使用方法》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
150 收藏
-
169 收藏
-
283 收藏
-
121 收藏
-
184 收藏
-
119 收藏
-
318 收藏
-
325 收藏
-
292 收藏
-
366 收藏
-
383 收藏
-
130 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习