Допустим, у меня есть два numpy
массива x
и y
, и я хочу сохранить их в txt
с вкладкой в качестве разделителя (\t
) и их соответствующим типом (x
является float
и y
- это integer
) и определенный формат. Например:
import numpy as np
x=np.random.uniform(0.1,10.,4)
y=np.random.randint(10,size=4)
Если я просто использую np.savetxt('name.txt',(x,y))
, это то, что я получаю:
6.111548206503401026e+00 4.208270401300298058e-01 5.914485954766230957e-01 6.652272388676337966e-01
6.027109785846696433e+00 1.024051075089774443e+01 3.358386699980072621e+01 7.652668778594046151e-01
Но мне нужен файл txt
по строкам, поэтому я следовал этому решению:
numpy массив в файл, np.savetxt
и бу, используя
np.savetxt('name.txt',np.vstack((x,y)).T,delimiter='\t')
Я получаю:
2.640596763338360020e+00 4.000000000000000000e+00
8.693117057064670306e+00 4.000000000000000000e+00
3.891035166453641558e+00 6.000000000000000000e+00
9.044178202861068883e+00 2.000000000000000000e+00
Пока здесь все в порядке, но, как я уже говорил, я хочу, чтобы вывод имел соответствующий тип данных и некоторое форматирование, поэтому я попытался np.savetxt('name.txt',np.vstack((x,y)).T,fmt=('%7.2f,%5i'),delimiter='\
...: t')
, и получилось:
2.64, 4
8.69, 4
3.89, 6
9.04, 2
, который имеет соответствующий формат и тип данных, но добавляет ,
после столбцов. Кто-нибудь знает, как избавиться от этой ,
напечатанной после колонки?