np loadtxt возвращает массив вместо массива, используя абзац в качестве разделителя - PullRequest
0 голосов
/ 08 марта 2020

Мне нужно загрузить текстовый файл в массив np.array, в котором данные находятся в N нескольких строках, то есть разделены параграфами . Когда я использую np.loadtxt, он возвращает np.ndarray с формой (N,). Я хочу, чтобы он возвращал np.array с "shape" (N) (другими словами, простой одномерный массив). Как я могу это сделать? Я также готов загрузить данные как ndarray, а затем преобразовать их в массив, если нет другого пути ...

Заранее спасибо! :)

1 Ответ

0 голосов
/ 08 марта 2020

С текстовым файлом с одним номером в строке:

In [356]: cat stack60588161.csv                                                                
1
2
3
4
5

loadtxt создает массив 1d numpy:

In [357]: data = np.loadtxt('stack60588161.csv')                                               
In [358]: data                                                                                 
Out[358]: array([1., 2., 3., 4., 5.])
In [359]: data.shape                                                                           
Out[359]: (5,)

Я могу заставить его создать 2d массив:

In [361]: data = np.loadtxt('stack60588161.csv',ndmin=2)                                       
In [362]: data                                                                                 
Out[362]: 
array([[1.],
       [2.],
       [3.],
       [4.],
       [5.]])
In [363]: data.shape                                                                           
Out[363]: (5, 1)

Это больше похоже на обычную многоколоночную загрузку CSV.

...