Объедините numpy массивы в pandas фрейм данных (но массивы в одном странном формате) - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть эти три numpy массива (они являются выводом некоторых регрессионных предсказаний, но я их переименовал).

target = np.array([[ 2919],
   [  912],
   [ 2365],
   [11666],
   [ 1881]])

prediction = np.array([[ 4059.],
       [ 1071.],
       [ 2123.],
       [10550.],
       [ 2287.]])

abs_diff = np.array([[1140.],
       [ 159.],
       [ 242.],
       [1116.],
       [ 406.]])

Как мне объединить их в pandas фрейм данных?

Я пробовал несколько вещей, включая это, но не могу заставить его работать.

fields = [list(target), list(prediction), list(abs_diff)]
dat = pd.DataFrame(data = fields, columns = ['target', 'prediction', 'absolute_diff'])

Это дает мне ошибку:

AssertionError: 3 столбца передано, переданные данные имеют 5 столбцов

1 Ответ

1 голос
/ 23 апреля 2020

Используйте numpy.hstack для объединения массивов и передачи в Dataframe конструктор:

fields = np.hstack((target, prediction, abs_diff))
dat = pd.DataFrame(data = fields, columns = ['target', 'prediction', 'absolute_diff'])
print (dat)
    target  prediction  absolute_diff
0   2919.0      4059.0         1140.0
1    912.0      1071.0          159.0
2   2365.0      2123.0          242.0
3  11666.0     10550.0         1116.0
4   1881.0      2287.0          406.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...