将熊猫系列转换为numpy数组

vis*_*hnu 27 numpy python-2.7 pandas

我是熊猫和蟒蛇的新手.我的输入数据就像

category   text
1   hello iam fine. how are you
1   iam good. how are you doing.

inputData= pd.read_csv(Input', sep='\t', names=['category','text'])
X = inputData["text"]
Y = inputData["category"]
Run Code Online (Sandbox Code Playgroud)

这里的Y是熊猫系列对象,我想将其转换为numpy数组.所以我试过.as_matrix

YArray= Y.as_matrix(columns=None)
print YArray
Run Code Online (Sandbox Code Playgroud)

但我得到的输出为[1,1](这是错误的,因为我只有一个列类别和两行).我希望结果为2x1矩阵.

gzc*_*gzc 43

要获得numpy数组,你需要

Y.values
Run Code Online (Sandbox Code Playgroud)

  • @vishnu 这是一个属性,而不是一个方法。 (4认同)

che*_*ddy 10

试试这个:
在你的系列对象上应用.as_matrix之后

Y.reshape((2,1))
Run Code Online (Sandbox Code Playgroud)

因为.as_matrix()只返回一个numpy-array而不是numpy-matrix. 链接在这里

  • 不推荐使用 Y.values.reshape(2,1) 代替 reshape。 (2认同)

Aks*_*jan 7

如果df是您的数据框,则该数据框的一列是一个序列,并将其转换为数组,

df = pd.DataFrame()
x = df.values
print(x.type)
Run Code Online (Sandbox Code Playgroud)

以下打印,

<class 'numpy.ndarray'>
Run Code Online (Sandbox Code Playgroud)

成功将其转换为数组。