私は行列X
とリストcentres
を持っています。私は新しいnumpy行列td_X
を作成したいと思います。リストをnumpy行列に変換する
td_X
には、インデックスがセンターに等しいX
の行で構成されています。擬似コードの場合:
for each in centers:
td_X.append(X[eacj])
これを行うにはどうすればよいですか?
私は行列X
とリストcentres
を持っています。私は新しいnumpy行列td_X
を作成したいと思います。リストをnumpy行列に変換する
td_X
には、インデックスがセンターに等しいX
の行で構成されています。擬似コードの場合:
for each in centers:
td_X.append(X[eacj])
これを行うにはどうすればよいですか?
:
x = np.array([l[0] for l in x])
ここで小さな例です。
x = np.array(alist)
x = np.squeeze(x) # or
x = x.reshape(45, 5785) # or
x = x[:,0,:]
リスト内で余分なレイヤーを削除することはできますが、このような再構成はアレイでは非常に簡単です。
x[0]
からは、追加レベルのラップアラウンドがあります。インデックスによってそれを削除すると、そこにあなたを取得する必要があります。その中間の寸法はサイズ1、それを再構築または絞るあるので
x = [[[1,2]], [[2,3]], [[4,5]]]
np.array(x).shape
# (3, 1, 2)
np.array([l[0] for l in x]).shape
# (3, 2)
np.array([l[0] for l in x])
# array([[1, 2],
# [2, 3],
# [4, 5]])
これは次元の配列を生成します: '(45、1、5785)' – user7347576
結果を 'x'に戻しましたか? – Psidom
異なる変数にはありません。 – user7347576
何も試しましたか? 'np.array(x)'でも??? –