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

为什么设置索引后Pandas DataFrame的数值顺序与预期不符?

问题原因
  • 核心问题出在你定义data时使用了Python集合类型:Python中用{}包裹、元素用逗号分隔且没有键值对的结构是集合,它是无序不重复的数据结构,底层基于哈希表存储,不会保留你编写代码时的元素写入顺序。
  • 你设置的行索引本身是生效的:输出的行标签1_i、2_i...5_i完全符合你传入的index顺序,乱序的是从集合中提取的元素序列,而非行索引的顺序。
修复方法

把data的定义从集合改为有序的列表类型即可,修改后代码如下:

import pandas as pd
data = ["1","2","3","4","5"] # 将{}改为[],使用有序列表
index = ["1_i","2_i","3_i","4_i","5_i"]
df = pd.DataFrame(data,index=index)
print(df)

运行后即可得到你预期的数值与索引的对应关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:24:04