читать np массивы в панде - PullRequest
0 голосов
/ 31 марта 2020

У меня есть набор данных, который выглядит следующим образом:

12 , 12 , 12 , 12    #Data 1
16 , 16 , 16 , 16    #Data 2
3  , 3  , 3  , 3     #Data 3
3  , 3  , 3  , 3     ..
2  , 2  , 2  , 2     ..
9  , 9  , 9  , 9     ..
15 , 15 , 15 , 15    ..

, и данные расположены по строкам, как показано.

Теперь мне нужно использовать эти данные в pandas. Проблема, с моим ограниченным знанием, панда читает столбцы данных мудро, а не строки.

Итак (и по какой-то другой причине) я читаю данные в numpy и пытаюсь прочитать массив numpy в pandas как:

#!/usr/bin/env python3

import numpy as np
import pandas

names = ["A", "B", "C", "D", "E", "F", "G"]
data = np.genfromtxt("trial.dat", delimiter=',')
print(type(data))
print(data)
dataset = pandas.DataFrame(data=data, columns=names)

, что давая:

python3 mwe.py 
<class 'numpy.ndarray'>
[[12. 12. 12. 12.]
 [16. 16. 16. 16.]
 [ 3.  3.  3.  3.]
 [ 3.  3.  3.  3.]
 [ 2.  2.  2.  2.]
 [ 9.  9.  9.  9.]
 [15. 15. 15. 15.]]
ValueError: Wrong number of items passed 4, placement implies 7
ValueError: Shape of passed values is (7, 4), indices imply (7, 7)

Несоответствие в основном исходит из измерения имен, как с

names = ["A", "B", "C", "D"]

и print (набор данных)

Я получаю:

class 'numpy.ndarray'>
[[12. 12. 12. 12.]
 [16. 16. 16. 16.]
 [ 3.  3.  3.  3.]
 [ 3.  3.  3.  3.]
 [ 2.  2.  2.  2.]
 [ 9.  9.  9.  9.]
 [15. 15. 15. 15.]]
      A     B     C     D
0  12.0  12.0  12.0  12.0
1  16.0  16.0  16.0  16.0
2   3.0   3.0   3.0   3.0
3   3.0   3.0   3.0   3.0
4   2.0   2.0   2.0   2.0
5   9.0   9.0   9.0   9.0
6  15.0  15.0  15.0  15.0

Но в Pandas наборе данных я хочу:

A    B 
12   16
12   16
12   16
12   16 

et c, то есть по ряду and-array.

Итак, как я могу прочитать np-ndarray для pandas?

1 Ответ

1 голос
/ 31 марта 2020

Транспонировать np_array

dataset = pandas.DataFrame(data=data.T, columns=names)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...