如何删除DataFrame中除首行与末行之外的所有行?
保留Pandas DataFrame的首行与末行
要实现删除DataFrame中所有行、仅保留首行和末行,且操作不受数据规模影响,直接用Pandas的iloc位置索引即可,这是效率最高的方式:
核心代码
import pandas as pd # 假设你的DataFrame名为df result_df = df.iloc[[0, -1]]
代码说明
iloc[[0, -1]]通过位置索引直接定位首行(索引0)和末行(索引-1),不管DataFrame有多少行,哪怕是上亿行,这个操作都是常数时间复杂度,完全不会因为数据规模变大变慢。- 如果你的DataFrame可能只有一行(此时首行和末行是同一行),可以加个判断避免重复:
if len(df) == 1: result_df = df.copy() else: result_df = df.iloc[[0, -1]]
示例验证
输入DataFrame(简化版):
数值 0 1 1 2 2 3 3 4 4 5 ... 999999998 999999999
执行代码后得到的输出:
数值 0 1 999999998 999999999
内容的提问来源于stack exchange,提问作者Jasmine Scott
相关产品推荐
相关产品推荐

