pandas 如何用零数组向df中添加列

pjngdqdw  于 2023-06-20  发布在  其他
关注(0)|答案(2)|浏览(96)

我想添加一个新的零数组大小20 x 20列到现有的df。
我尽力了

df['matrix']= np.zeros((20,20))

接收误差

ValueError: Length of values (20) does not match length of index (26651)

看起来像是试图将一个零矩阵附加到列中,而不是让新列中的每个条目都是零矩阵。
抱歉,如果我没有正确地格式化问题,我是新来的这个网站。

34gzjxbg

34gzjxbg1#

Pandas尝试广播numpy数组以适应您的数据框架,这种方式在这种情况下没有帮助。
为了避免这种情况,你可以列出数组的列表。

df["matrix"] = [np.zeros((20,20)) for _ in df.index]

或者使用apply获取每个单元格中所需的值

df["matrix"] = df.apply(lambda _: np.zeros((20, 20)), axis=1)
iezvtpos

iezvtpos2#

如果你想要一个单独的列,我建议你添加一个pd.Series,其中包含所需的信息,例如:

df['matrix'] = [[0]*20] * len(df)

相关问题