Преобразование двух списков в матрицу

Я постараюсь быть максимально ясным, и я начну с объяснения, почему я хочу преобразовать два массива в матрицу.

Чтобы построить производительность портфеля и рыночный индекс, мне нужна структура данных, как в этом формате:

[[portfolio_value1, index_value1] [portfolio_value2, index_value2]] 

Но у меня есть данные как два отдельных массива 1-D:

 portfolio = [portfolio_value1, portfolio_value2, ...] index = [index_value1, index_value2, ...] 

Итак, как преобразовать второй сценарий в первый. Я пробовал np.insert чтобы добавить второй массив к тестовой матрице, которую я имел в оболочке python, моя задача состояла в том, чтобы перенести первый массив в одну матрицу столбцов.

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

2 Solutions collect form web for “Преобразование двух списков в матрицу”

Стандартная функция numpy для того, что вы хотите, это np.column_stack :

 >>> np.column_stack(([1, 2, 3], [4, 5, 6])) array([[1, 4], [2, 5], [3, 6]]) 

Итак, с вашим portfolio и index массивами, делая

 np.column_stack((portfolio, index)) 

даст что-то вроде:

 [[portfolio_value1, index_value1], [portfolio_value2, index_value2], [portfolio_value3, index_value3], ...] 

Предполагая, что длина портфеля и индекса одинакова:

 matrix = [] for i in range(len(portfolio)): matrix.append([portfolio[i], index[i]]) 

Или однострочный просмотр с использованием списка:

 matrix2 = [[portfolio[i], index[i]] for i in range(len(portfolio))] 
  • В чем разница между функциями перекоса и эксцесса в пандах против скупых?
  • Библиотека в python для нейронных сетей для построения ROC, AUC, DET
  • Эффективное извлечение памяти перекрывающихся патчей из матрицы
  • Python, cPickle, травильные лямбда-функции
  • контур контура matplotlib: пропорциональные уровни цвета в логарифмической шкале
  • make np.vectorize возвращает скалярное значение на скалярном входе
  • Каков эффективный способ найти, находится ли точка в выпуклой оболочке точечного облака?
  • Эффективное распределение многопоточных и плотных матриц Numpy / Scipy
  • Python - лучший язык программирования в мире.