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

如何为DataFrame添加元素为20×20零数组的列

解决方案

问题出在你直接把单个20×20的零矩阵赋值给列,pandas会把这个二维数组当成长度为20的序列,和DataFrame的26651行长度不匹配,所以报错。要让每一行都对应一个独立的20×20零数组,试试下面几种方法:

  • 列表推导式(推荐,每个数组都是独立的):
import numpy as np
# 给df新增matrix列,每个元素是20×20零数组
df['matrix'] = [np.zeros((20, 20)) for _ in range(len(df))]
  • 使用apply方法:
df['matrix'] = df.apply(lambda _: np.zeros((20, 20)), axis=1)
  • 用pd.Series构造:
df['matrix'] = pd.Series([np.zeros((20, 20))]*len(df), index=df.index)

注意:第三种方法里的[...]*len(df)会让所有元素指向同一个数组对象,如果后续需要修改某一行的数组,会影响所有行,所以优先选前两种方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:37:43