我有一個特定的陣列,每行都必須排列。我想重塑它。但是,我不知道如何將其重塑為二維陣列。這是我的陣列:
x = np.array([[[array([0.23006942, 0.29322573, 0.37292298]),
array([0.23006942])],
[array([0.29322573, 0.37292298, 0.23006942]),
array([0.32480389])],
[array([0.37292298, 0.23006942, 0.32480389]),
array([0.31427784])]],
[[array([0.09971349, 0.08827682, 0.0900638 ]),
array([0.02251595])],
[array([0.08827682, 0.0900638 , 0.02251595]),
array([0.0986413])],
[array([0.0900638 , 0.02251595, 0.0986413 ]),
array([0.02144376])]]], dtype=object)
這是所需的輸出:
out = np.array(
[
[array([0.23006942, 0.29322573, 0.37292298]),array([0.23006942])],
[array([0.29322573, 0.37292298, 0.23006942]),array([0.32480389])],
[array([0.37292298, 0.23006942, 0.32480389]),array([0.31427784])],
[array([0.09971349, 0.08827682, 0.0900638 ]),array([0.02251595])],
[array([0.08827682, 0.0900638 , 0.02251595]),array([0.0986413])],
[array([0.0900638 , 0.02251595, 0.0986413 ]),array([0.02144376])]
])
任何幫助表示贊賞。
謝謝
我試過使用重塑。但是,它并沒有解決。
uj5u.com熱心網友回復:
我認為您可以使用reshape(以正確的方式):
# Your code
import numpy as np
x = np.array([[[np.array([0.23006942, 0.29322573, 0.37292298]),
np.array([0.23006942])],
[np.array([0.29322573, 0.37292298, 0.23006942]),
np.array([0.32480389])],
[np.array([0.37292298, 0.23006942, 0.32480389]),
np.array([0.31427784])]],
[[np.array([0.09971349, 0.08827682, 0.0900638 ]),
np.array([0.02251595])],
[np.array([0.08827682, 0.0900638 , 0.02251595]),
np.array([0.0986413])],
[np.array([0.0900638 , 0.02251595, 0.0986413 ]),
np.array([0.02144376])]]], dtype=object)
# What you need
out = x.reshape(6,2)
out
輸出
array([
[array([0.23006942, 0.29322573, 0.37292298]), array([0.23006942])],
[array([0.29322573, 0.37292298, 0.23006942]), array([0.32480389])],
[array([0.37292298, 0.23006942, 0.32480389]), array([0.31427784])],
[array([0.09971349, 0.08827682, 0.0900638 ]), array([0.02251595])],
[array([0.08827682, 0.0900638 , 0.02251595]), array([0.0986413])],
[array([0.0900638 , 0.02251595, 0.0986413 ]), array([0.02144376])]
],
dtype=object)
uj5u.com熱心網友回復:
它是衣衫襤褸的,它沒有連接。這是將陣列展平為陣列串列的問題嗎?
out = [x.tolist() for arr in x for x in arr]
輸出:
[[array([0.23006942, 0.29322573, 0.37292298]), array([0.23006942])],
[array([0.29322573, 0.37292298, 0.23006942]), array([0.32480389])],
[array([0.37292298, 0.23006942, 0.32480389]), array([0.31427784])],
[array([0.09971349, 0.08827682, 0.0900638 ]), array([0.02251595])],
[array([0.08827682, 0.0900638 , 0.02251595]), array([0.0986413])],
[array([0.0900638 , 0.02251595, 0.0986413 ]), array([0.02144376])]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/449876.html
