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

如何将Pandas DataFrame最后两行移至顶部?

将Pandas DataFrame最后两行移至顶部的高效实现方法

你可以通过以下两种高效方式实现需求,无需额外复制DataFrame:

方法1:手动拼接索引序列

直接构造目标索引顺序,通过df.loc完成行重排:

import pandas as pd

df = pd.DataFrame({
    "A" : [1,2,3,4],
    "C": [5, 6, 7, 8],
    "D": [9, 10, 11, 12],
    "E": [13, 14, 15, 16],
})

# 拼接新索引:最后两行索引 + 前面所有行索引
new_index = df.index[-2:].tolist() + df.index[:-2].tolist()
df = df.loc[new_index]

print(df)

输出结果:

A  C   D   E
2  3  7  11  15
3  4  8  12  16
0  1  5   9  13
1  2  6  10  14

方法2:使用np.roll简化操作

利用numpy.roll的滚动特性,只需设置合适的偏移量即可:

import pandas as pd
import numpy as np

df = pd.DataFrame({
    "A" : [1,2,3,4],
    "C": [5, 6, 7, 8],
    "D": [9, 10, 11, 12],
    "E": [13, 14, 15, 16],
})

# shift=-2 表示向左滚动2位,将前两行移至末尾,最后两行自然到顶部
df = df.reindex(np.roll(df.index, shift=-2))

print(df)

输出结果与方法1一致。

说明

两种方法均基于索引重排实现,不会复制DataFrame的底层数据,属于高效的视图级操作,完全满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:20:28