2016-03-26 8 views
2

私はDateFrameを持っている:'値'属性を使用して、DateFrameの複数の行からnumpy配列を作成する方法は?

TV Radio Newspaper Sales 
1 230.1 37.8 69.2 22.1 
2 44.5 39.3 45.1 10.4 
3 17.2 45.9 69.3 9.3 
4 151.5 41.3 58.5 18.5 
5 180.8 10.8 58.4 12.9 

私は2つのnumpyの配列を作成する必要があります。そのうちの1つはSales行の内容で、もう1つはTV,RadioおよびNewspaper行です。私はミスを犯している

error: KeyError: ('TV', 'Radio', 'Newspaper') 

import numpy as np 
first_arr = np.array(myDateFrame['Sales'].values) #It works 
second_arr = np.array(myDateFrame['TV', 'Radio', 'Newspaper']) #It doesn't work 

それは次のエラーを与えますか?

あなたが行うことができます

答えて

0

>>> myDateFrame[['TV', 'Radio', 'Newspaper']].values 
array([[ 230.1, 37.8, 69.2], 
     [ 44.5, 39.3, 45.1], 
     [ 17.2, 45.9, 69.3], 
     [ 151.5, 41.3, 58.5], 
     [ 180.8, 10.8, 58.4]]) 

np.array()をコールする必要はありません。属性valuesはすでにNumPy配列です。

また、二重角カッコに注意してください。[['TV', 'Radio', 'Newspaper']].単一の引数ではなく、複数の列名をリストとして指定する必要があります。

+0

はどうもありがとうございました)! –

0

私はそのためas_matrix()メソッドを使用します。

DataFrame.as_matrix(columns=None)

Convert the frame to its Numpy-array representation.

関連する問題