После устранения несоответствия:
In [373]: a =[np.array([ 2.05096059, 3.65564871, 0.25845727, 2.86561982, 1.4
...: 5278606]),
...: np.array([5,10,15,20,25]),
...: np.array([10,11,12,13,14])]
...:
In [374]: a
Out[374]:
[array([2.05096059, 3.65564871, 0.25845727, 2.86561982, 1.45278606]),
array([ 5, 10, 15, 20, 25]),
array([10, 11, 12, 13, 14])]
In [377]: np.transpose(a)
Out[377]:
array([[ 2.05096059, 5. , 10. ],
[ 3.65564871, 10. , 11. ],
[ 0.25845727, 15. , 12. ],
[ 2.86561982, 20. , 13. ],
[ 1.45278606, 25. , 14. ]])
Это массив (5,3) с плавающей точкой; простая итерация создает строки, одну за другой.
Печать каждого массива в отдельности позволяет нам контролировать формат:
In [378]: print(('%10f'*5)%tuple(a[0]))
...: print(('%10d'*5)%tuple(a[1]))
...: print(('%10d'*5)%tuple(a[2]))
...:
...:
2.050961 3.655649 0.258457 2.865620 1.452786
5 10 15 20 25
10 11 12 13 14
Использование стандартного numpy csv writer:
In [379]: np.savetxt('test.txt', a, fmt='%10f')
In [380]: cat test.txt
2.050961 3.655649 0.258457 2.865620 1.452786
5.000000 10.000000 15.000000 20.000000 25.000000
10.000000 11.000000 12.000000 13.000000 14.000000
Можно установить другой формат для каждого столбца, но не для каждой строки.