将2个向量转换成矩阵

时间:2018-07-13 13:42:28

标签: python pandas numpy

我有2个numpy数组,我想在其中将它们转换为矩阵

height = np.array([3,2,4,3,3.5,2,5.5,1])
width = np.array([1.5,1,1.5,1,.5,.5,1,1])

我想使用numpy或pandas将它们转换为2x8矩阵。

谢谢。

4 个答案:

答案 0 :(得分:1)

使用np.concatenate((height, width), axis=0)

您还需要reshape都喜欢,

height = height.reshape(1,-1)
width = width.reshape(1,-1)
result = np.concatenate((height, width), axis=0)

答案 1 :(得分:1)

检查Numpy的asmatrix方法:

import numpy as np

height = np.array([3,2,4,3,3.5,2,5.5,1])
width = np.array([1.5,1,1.5,1,.5,.5,1,1])

x = np.asmatrix([height, width])
x

结果是

matrix([[ 3. ,  2. ,  4. ,  3. ,  3.5,  2. ,  5.5,  1. ],
        [ 1.5,  1. ,  1.5,  1. ,  0.5,  0.5,  1. ,  1. ]])

答案 2 :(得分:1)

如果您想通过垂直堆叠二维数组来创建二维数组,也可以使用numpy.vstack

height = np.array([3,2,4,3,3.5,2,5.5,1])
width = np.array([1.5,1,1.5,1,.5,.5,1,1])
results = np.vstack((height, width))

答案 3 :(得分:-1)

使用pandas.DataFrame

的解决方案

自从您提到pandas以来,您只需定义一个pandas.DataFrame就可以解决您的要求。

当然,根据接下来要处理的矩阵,选择使用numpypandas

将向量用作行

import pandas as pd
my_dataframe = pd.DataFrame([height, width])

dataframe rows

将向量用作列

import pandas as pd
my_dataframe = pd.DataFrame({
    "height": np.array([3,2,4,3,3.5,2,5.5,1]),
    "width": np.array([1.5,1,1.5,1,.5,.5,1,1])
})

dataframe columns