получить вывод numpy loadtxt в виде одного массива, а не нескольких массивов - PullRequest
0 голосов
/ 24 января 2020

У меня есть файл CSV:

8.84,17.22,13.22,3.84  
3.99,11.73,19.66,1.27
Def jo(x):
    data=np.loadtxt(x,delimiter=',')
    Return data
Print(jo('data.csv')

Код возвращает:

[ [8.84 17.22 13.22 3.84]  
 [3.99 11.73 19.66 1.27] ]

Но я хочу, чтобы все эти элементы были в одном массиве, потому что я хочу найти их mean и median.
Как объединить эти 2 массива в 1?

Ответы [ 2 ]

0 голосов
/ 24 января 2020
In [245]: txt="""8.84,17.22,13.22,3.84   
     ...: 3.99,11.73,19.66,1.27"""                                                               
In [246]: data = np.loadtxt(txt.splitlines(), delimiter=',')                                     
In [247]: data                                                                                   
Out[247]: 
array([[ 8.84, 17.22, 13.22,  3.84],
       [ 3.99, 11.73, 19.66,  1.27]])
In [248]: data.shape                                                                             
Out[248]: (2, 4)

Это один массив, всего 2d.

Существуют различные способы превращения этого в 1d массив:

In [259]: arr = data.ravel()                                                                     
In [260]: arr                                                                                    
Out[260]: array([ 8.84, 17.22, 13.22,  3.84,  3.99, 11.73, 19.66,  1.27])

Но делать это не нужно. meanmedian) без параметра оси действует на массив raveled. Проверьте документы:

In [261]: np.mean(data)                                                                          
Out[261]: 9.971250000000001
In [262]: np.mean(arr)                                                                           
Out[262]: 9.971250000000001
0 голосов
/ 24 января 2020

использование numpy.rehshape

# data: data is your array
>>> data.reshape(-1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...