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

pandas读取xlsx生成列表时元素为numpy数组如何转纯数值列表

问题原因

df.values返回的是二维numpy数组,当仅选取black_toner_percentage单列时,遍历df.values得到的每个元素都是长度为1的一维numpy数组,直接将该数组append到列表中,最终得到的列表元素就是numpy数组对象,而非预期的纯数值。

修改方案

方案1(推荐,代码最简洁)

无需手动编写循环追加逻辑,pandas的Series对象自带tolist()方法,可直接将单列数据转换为原生Python格式的纯数值列表:

import pandas as pd

data = pd.read_excel('testfile.xlsx')
# 直接提取目标列调用转列表方法
inputdata = data['black_toner_percentage'].tolist()
print(inputdata)

方案2(保留原有循环逻辑适配修改)

如果需要保留循环遍历的写法,只需在append时取出一维numpy数组内的第一个标量值即可:

import pandas as pd

inputdata = []
data = pd.read_excel('testfile.xlsx')
df = pd.DataFrame(data, columns=['black_toner_percentage'])
for i in df.values:
    # 提取数组中的单个数值后再追加到列表
    inputdata.append(i[0])
print(inputdata)

以上两种方法输出的inputdata均为[100,100,...]格式的纯数值列表,可直接作为数据集输入使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 11:24:38