我想添加一个新的零数组大小20 x 20列到现有的df。我尽力了
df['matrix']= np.zeros((20,20))
接收误差
ValueError: Length of values (20) does not match length of index (26651)
看起来像是试图将一个零矩阵附加到列中,而不是让新列中的每个条目都是零矩阵。抱歉,如果我没有正确地格式化问题,我是新来的这个网站。
34gzjxbg1#
Pandas尝试广播numpy数组以适应您的数据框架,这种方式在这种情况下没有帮助。为了避免这种情况,你可以列出数组的列表。
df["matrix"] = [np.zeros((20,20)) for _ in df.index]
或者使用apply获取每个单元格中所需的值
apply
df["matrix"] = df.apply(lambda _: np.zeros((20, 20)), axis=1)
iezvtpos2#
如果你想要一个单独的列,我建议你添加一个pd.Series,其中包含所需的信息,例如:
df['matrix'] = [[0]*20] * len(df)
2条答案
按热度按时间34gzjxbg1#
Pandas尝试广播numpy数组以适应您的数据框架,这种方式在这种情况下没有帮助。
为了避免这种情况,你可以列出数组的列表。
或者使用
apply
获取每个单元格中所需的值iezvtpos2#
如果你想要一个单独的列,我建议你添加一个pd.Series,其中包含所需的信息,例如: