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

如何初始化pandas DataFrame 将无列名首列设置为行索引

你需要将无列名的首列设置为DataFrame的行索引(index),而非普通数据列,实现方式如下:

手动初始化场景

你当前的数据源是嵌套列表,只需要拆分列表中每行的第一个元素作为索引参数传入,剩余元素作为数据内容即可:

import pandas as pd
data = [['jordan','CA','m',100], ['lebron','NY','m',200]]
# 提取行索引值
row_index = [item[0] for item in data]
# 提取纯数据部分(去掉每行第一个元素)
pure_data = [item[1:] for item in data]
# 初始化时指定index参数,列名按需求设置
df = pd.DataFrame(pure_data, index=row_index, columns=['state', 'sex', 'salary'])

执行df.columns即可得到预期输出:Index(['state', 'sex', 'salary'], dtype='object')。

从文件/剪贴板读取场景

如果你的原始数据是从文本文件、剪贴板读取,可以直接用index_col=0参数指定第一列为行索引,无需手动拆分:

# 示例:从剪贴板读取你给出的原始表格
df = pd.read_clipboard(index_col=0)

你之前的写法问题在于把首列作为普通数据列处理,还传入了空字符串作为该列的列名,同时把最后一列的列名错写为Age,才会导致df.columns不符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:00:04