У меня есть список (posterior_list) из 18 000 numpy arrays
длиной 82 868. У меня есть датафрейм (y_test) с формой (82,868, 1)
. Массивы являются задними предсказанными значениями. Я хотел бы добавить каждый массив внутри этого списка в виде столбца на фрейм данных (y_test) с конечным результатом, имеющим форму (82868, 18001)
.
Я попробовал следующее:
for arr in posterior_list:
x_test.append(arr)
Это привело к следующей ошибке:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-144-a200df62319d> in <module>
1 for arr in posterior:
----> 2 y_test.append(arr)
~\AppData\Local\Continuum\anaconda3\envs\stan_env\lib\site-packages\pandas\core\frame.py in append(self, other, ignore_index, verify_integrity, sort)
6690 return concat(to_concat, ignore_index=ignore_index,
6691 verify_integrity=verify_integrity,
-> 6692 sort=sort)
6693
6694 def join(self, other, on=None, how='left', lsuffix='', rsuffix='',
~\AppData\Local\Continuum\anaconda3\envs\stan_env\lib\site-packages\pandas\core\reshape\concat.py in concat(objs, axis, join, join_axes, ignore_index, keys, levels, names, verify_integrity, sort, copy)
226 keys=keys, levels=levels, names=names,
227 verify_integrity=verify_integrity,
--> 228 copy=copy, sort=sort)
229 return op.get_result()
230
~\AppData\Local\Continuum\anaconda3\envs\stan_env\lib\site-packages\pandas\core\reshape\concat.py in __init__(self, objs, axis, join, join_axes, keys, levels, names, ignore_index, verify_integrity, copy, sort)
287 ' only pd.Series, pd.DataFrame, and pd.Panel'
288 ' (deprecated) objs are valid'.format(type(obj)))
--> 289 raise TypeError(msg)
290
291 # consolidate
TypeError: cannot concatenate object of type "<class 'numpy.ndarray'>"; only pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid
Итак, я попробовал следующее:
for arr in posterior:
arr = pd.Series(arr)
y_test.append(arr, ignore_index=True)
MemoryError: Unable to allocate array with shape (82877, 82868) and data type float64
Кто-нибудь может посоветовать лучший способ l oop в моем списке и добавить каждый массив в виде столбца на мой фрейм данных?