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

Python中如何反转DataFrame最后n行和列并保留前序顺序

解决方案

要实现前10行/列保持原有顺序、反转最后5行/列的需求,可通过构造新的行/列索引序列,再用loc重新选取DataFrame的方式实现:

import numpy as np
import pandas as pd

# 初始化DataFrame
df = pd.DataFrame(index=range(15), columns=range(15))

# 定义分割点:前10个元素保持原顺序,剩余5个反转
split_idx = 10
# 构造新行顺序:前10个索引 + 反转后的后5个索引
new_rows = list(range(split_idx)) + list(range(14, split_idx-1, -1))
# 构造新列顺序:逻辑与行一致
new_cols = list(range(split_idx)) + list(range(14, split_idx-1, -1))

# 重新排列得到目标DataFrame
df_reversed = df.loc[new_rows, new_cols]

代码说明

  • split_idx = 10:指定前10个元素保留原顺序的分割位置
  • range(14, split_idx-1, -1):生成从14到10的倒序索引,对应原最后5个索引(10、11、12、13、14)的反转
  • df.loc[new_rows, new_cols]:通过重新指定行、列索引顺序,直接得到符合要求的DataFrame

验证后行/列顺序为:[0,1,2,...,9,14,13,12,11,10],与你需求一致(注:你示例中的15应为笔误,原DataFrame索引仅到14)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:18:18