データフレームからarrayに変換:pandas numpy

機械学習のライブラリなどを使おうとすると,データフレーム型からnumpyのarray型にしないと引数として渡せない場合があります.このデータフレームからarrayに変換する方法は色々あるんですが,一番簡単なのはas_matrix()を使うことでしょうか.

In [102]: import pandas as pd # pandasをインポート

In [103]: import numpy as np # numpyをインポート

# データフレームを定義する
In [104]: df = pd.DataFrame({'Time': ['10:00:00', '10:00:01', '10:00:02', '10:00:03', '10:00:04','10:00:05', '10:00:06', '10:00:07', '10:00:08', '10:00:09'],
     ...:                    'Value1': [25, 30, 104, 52, 41, 91, 102, 40 ,101 ,97],
     ...:                     'Value2': [45, 19, 34, 19, 78, 148, 45, 53 ,74 ,32]})

# データフレームの中身を確認する
In [105]: df
Out[105]: 
       Time  Value1  Value2
0  10:00:00      25      45
1  10:00:01      30      19
2  10:00:02     104      34
3  10:00:03      52      19
4  10:00:04      41      78
5  10:00:05      91     148
6  10:00:06     102      45
7  10:00:07      40      53
8  10:00:08     101      74
9  10:00:09      97      32

# .as_matrix()を呼び出す
In [106]: array = df.as_matrix()

# arrayに変換されたかを確認する
In [107]: array
Out[107]: 
array([['10:00:00', 25, 45],
       ['10:00:01', 30, 19],
       ['10:00:02', 104, 34],
       ..., 
       ['10:00:07', 40, 53],
       ['10:00:08', 101, 74],
       ['10:00:09', 97, 32]], dtype=object)

こんな感じ

2020/3/6追記

as_matrixはどうやら無くなるみたいですね.

FutureWarning: Method .as_matrix will be removed in a future version. Use .values instead.

とのこと.なので代わりに

df.values.tolist()

を使いますかな.