У меня есть два массива numpy массивов (A и B). Они смотрят что-то вроде этого, когда напечатано:Массив numpy массивов numpy имеет 1D-форму
A:
[array([0, 0, 0]) array([0, 0, 0]) array([1, 0, 0]) array([0, 0, 0])
array([0, 0, 0]) array([0, 0, 0]) array([0, 0, 0]) array([0, 0, 0])
array([0, 0, 0]) array([0, 0, 0]) array([0, 0, 1]) array([0, 0, 0])
array([1, 0, 0]) array([0, 0, 1]) array([0, 0, 0]) array([0, 0, 0])
array([0, 0, 0]) array([1, 0, 0]) array([0, 0, 1]) array([0, 0, 0])]
B:
[[ 4.302135e-01 4.320091e-01 4.302135e-01 4.302135e-01
1.172584e+08]
[ 4.097128e-01 4.097128e-01 4.077675e-01 4.077675e-01
4.397120e+07]
[ 3.796353e-01 3.796353e-01 3.778396e-01 3.778396e-01
2.643200e+07]
[ 3.871173e-01 3.890626e-01 3.871173e-01 3.871173e-01
2.161040e+07]
[ 3.984899e-01 4.002856e-01 3.984899e-01 3.984899e-01
1.836240e+07]
[ 4.227315e-01 4.246768e-01 4.227315e-01 4.227315e-01
1.215760e+07]
[ 4.433817e-01 4.451774e-01 4.433817e-01 4.433817e-01
9.340800e+06]
[ 4.620867e-01 4.638823e-01 4.620867e-01 4.620867e-01
1.173760e+07]]
type(A)
, type(A[0])
, type(B)
, type(B[0])
являются все <class 'numpy.ndarray'>
.
Однако A.shape
является (20,)
, а B.shape
- (8, 5)
.
Вопрос 1: Почему A.shape
одномерный, и как сделать его двумерным, как B.shape
? Они оба массивы массивов, не так ли?
Вопрос 2, возможно, связано с Q1: Почему печать A
показать вызовы array()
, при печати B
не делает, и почему элементы подмассивов из B
не запятые в-между ними?
Заранее спасибо.
Вы смотрели на 'dtype' каждого массива? Один из них представляет собой массив массивов, другой - 2D-массив поплавков. – Evert
Это мой вопрос - как мне сделать массив массивов в 2D-массив ints/floats? –