你好我有以下矩阵叫做tfidf2,这个矩阵的形状是 (11159,1985)它有11159行和1985列,我想将一个新矩阵连接到这个,矩阵名为datesNumpy,形状为(11159,12),它们具有相同的行数,因此可能为了连接它,名为tfidf3的新矩阵的形状应为(11159,1997),
import numpy as np
tfidf2 = tdf.transform(list_cluster)
print("Shape tfidf2",tfidf2.shape)
listAux=[]
for l in listMonth:
listAux.append([int(y) for y in l])
datesNumpy=np.array([np.array(xi) for xi in listAux])
print("Shape datesNumpy",datesNumpy.shape)
我试过了:
tfidf3=np.stack((tfidf2, datesNumpy), axis=-1)
但是我得到了,我感谢支持克服这种情况:
Shape tfidf2 (11159, 1985)
Shape datesNumpy (11159, 12)
Traceback (most recent call last):
File "Main.py", line 235, in <module>
tfidf3=np.stack((tfidf2, datesNumpy), axis=-1)
File "/usr/local/lib/python3.5/dist-packages/numpy/core/shape_base.py", line 339, in stack
raise ValueError('all input arrays must have the same shape')
ValueError: all input arrays must have the same shape
从这里得到反馈后我试了一下:
tfidf3=np.concatenate([tfidf2, datesNumpy], axis=1)
但我得到了:
Traceback (most recent call last):
File "Main.py", line 235, in <module>
tfidf3=np.concatenate([tfidf2, datesNumpy], axis=1)
ValueError: zero-dimensional arrays cannot be concatenated
答案 0 :(得分:4)
numpy.stack(数组,轴= 0)
沿新轴加入一系列数组。
axis参数指定新轴的索引 结果的维度。例如,如果axis = 0,它将是第一个 维度和if轴= -1,它将是最后一个维度。
参数:
数组:array_like的序列每个数组必须具有相同的形状。
axis :int,optional结果数组中的轴,输入数组堆叠在该轴上。
返回:
堆积:ndarray 堆叠数组的尺寸比输入数组多一个。
根据文档必须具有相同的形状。
您必须是concatenate
示例:
tfidf2 = np.zeros((11159, 1985))
datesNumpy = np.ones((11159, 12))
tfidf3=np.concatenate([tfidf2, datesNumpy], axis=1)
print(tfidf3.shape)
输出:
(11159, 1997)