前提・実現したいこと
単語分散表現を用いた文の合成をする予定です。
そこで、あるところで標準リストの中にnumpy型のリストが複数入る形になってしまいました。
複数あるnumpyリストを一つに統合し、全てnumpy型のリストにしたいのです
お力添えいただけたら幸いです。
発生している問題・エラーメッセージ
[array([['要', '0.086429', '-0.01098', ..., '0.0043801', '-0.13812', '-0.17185'], ['介護', '0.08701', '-0.0089095', ..., '-0.0017369', '-0.13687', '-0.18346'], ['で', '0.065052', '-0.0052595', ..., '-0.0027724', '-0.1026', '-0.14609'], array([['を', '0.10461', '-0.017704', ..., '0.0016354', '-0.16045', '-0.21466'], ['週', '0.070007', '-0.012154', ..., '-0.0058227', '-0.12554', '-0.16621'], ['回', '0.077753', '-0.0043522', ..., '-0.00012941', '-0.12429', '-0.1695'], ... axis = normalize_axis_index(axis, ndim) numpy.AxisError: axis 2 is out of bounds for array of dimension 1
該当のソースコード
import paracept as pa import low as l import numpy as np #l.corpus 事例データの分かち書き #pa.word2 分散表現を行った単語のベクトル配列 def mark(i): #one = np.array([]) one = [] for s in i: for v in pa.word2: if s == v[0]: one.append(v) #np.insert(one,v) return np.array(one) def main(): vec = [] #vec = np.array([]) #lan = np.array([]) lan =[] for i in l.test: vec.append(mark(i)) #np.insert(vec,mill) #np.appen(vec,mark(i)) vec =np.array(vec) print(vec) #print(vec.shape) vec = np.delete(vec,0,2) #print(vec.shape) vec = vec.tolist() for j in range(len(vec[i])): for k in range(len(vec[i][j])): vec[i][j][k]=float(vec[i][j][k]) #vec = list(map(float,vec)) #vec = np.array(vec,dtype) vec = np.sum(vec,axis=2) print(vec) main()
試したこと
配列を新たに入れ直してみたりしましたがダメでした
補足情報(FW/ツールのバージョンなど)
python
home-brew
Mac
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/17 02:51 編集
2020/12/17 03:37
2020/12/17 03:47