numpy配列に集約を適用したい。numpy - 配列の各行に集約を適用する
x = np.array([ ([[ 1.87918162, 1.12919822, -1.63856741],\
[ 0.40560484, 0.96425656, 0.7847214 ],\
[-0.83472207, 0.88918246, -0.83298299],\
[-1.29211004, 0.71730071, -2.09109609],\
[-1.65800248, 0.49154087, 0.14932455]]),\
([[ 1.87918162, 1.12919822, -1.63856741],\
[-0.21786626, -0.23561859, -0.19750753],\
[-0.83472207, 0.88918246, -0.83298299],\
[-0.34967282, 0.51348973, -0.30882943],\
[ 0.35654636, -0.64453956, -1.3066075 ],\
[ 0.187328 , -1.32496725, -0.05783984]])])
print type(x)
print x[0]
print np.mean(x[0], axis=0)
print np.mean(x, axis=0)
>>> <type 'numpy.ndarray'>
>>> [[1.87918162, 1.12919822, -1.63856741], [0.40560484, 0.96425656, 0.7847214], [-0.83472207, 0.88918246, -0.83298299], [-1.29211004, 0.71730071, -2.09109609], [-1.65800248, 0.49154087, 0.14932455]]
>>> [-0.30000963 0.83829576 -0.72572011]
、エラーがある:
TypeError: unsupported operand type(s) for /: 'list' and 'long'
、それは全体のアレイ上の1行のために働いていないが、なぜ私は理解していません。私は配列の形の不規則さが問題を引き起こすと思う。
しかし、どのようにして、配列のforループを使って反復せずに処理し、すべての結果を1つの配列に連結できますか?
EDIT:
期待される結果は上下各列の和です。したがって、結果は次元の配列でなければなりません(2,3)。
構造は実際に少し奇妙です。混合インデックス3次元構造のように見えます。正確に集計したいものは何ですか?あるいは別の言い方をすると、結果はどのようなものになると思いますか? – Spinor8