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

如何将pandas DataFrame单列切片转换为无嵌套的一维数值列表

问题根因

你当前操作的subset实际是DataFrame类型,并非你预期的单列Series,才会出现两个异常现象:

  • 调用.values.tolist()返回嵌套列表
  • 调用.column属性抛出AttributeError(DataFrame的列属性为复数形式columns,且该属性返回的是列名列表,和你要的列值无关)

解决方法

方法1:直接压缩DataFrame为Series后转列表(最推荐)

如果确定subset只有一列,用squeeze()方法去掉多余的维度,再转列表即可得到一维结构:

subset_list = subset.squeeze().tolist()

方法2:调整取数逻辑,直接拿到Series再转列表

你可以在取数阶段就显式获取Series,避免得到单列DataFrame:

# 写法1:按列名取指定范围的行,直接得到Series
subset = example['one'].iloc[0:100]
# 写法2:取数时主动压缩维度
subset = example.iloc[0:100, 0].squeeze()

# 转一维列表
subset_list = subset.tolist()

方法3:手动展平嵌套列表

如果不想改动前面的逻辑,也可以直接对已经得到的嵌套列表做展平处理:

subset_list = [item[0] for item in subset.values.tolist()]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:39:05