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

如何将Pandas列嵌套数组转为适配Keras的NumPy数组?

问题原因与解决办法:把DataFrame数组列转成Keras能用的NumPy数组

为什么会出现嵌套的array()对象?

因为你的DataFrame列里每个元素都是独立的小NumPy数组,Pandas会把这些数组当成object类型的单个元素存储,而不是把整列识别成一个多维数组。用a['labels'].values取出来的是一个dtype为object的一维数组,每个元素就是你原来存的小数组,所以看起来像是嵌套了array()结构。

怎么转成符合要求的数组格式?

直接用numpy.stack()把这些小数组堆叠成一个二维数组就行,Keras就能直接用:

import numpy as np

# 转换labels列,得到形状为(样本数, 1)的数组
labels_input = np.stack(a['labels'].values)
# 转换text列,得到形状为(样本数, 300)的数组
text_input = np.stack(a['text'].values)

你也可以用列表推导式配合np.array(),效果一样:

labels_input = np.array([item for item in a['labels']])

转换完后可以验证下格式:

print(labels_input.shape)  # 输出应该是 (你的样本数量, 1)
print(text_input.shape)    # 输出应该是 (你的样本数量, 300)

这样得到的数组就可以直接传入keras.fit(text_input, labels_input)了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 15:35:20