スポンサーリンク
pandasの属性のvaluesでNumPy配列を取得
下記のように、pandasの属性のvaluesでNumPy配列を取得できます。
npArrayはnumpy.ndarrayのデータが格納されます。
import pandas as pd npArray = df.values
また、スライスで行を指定してNumPy配列を取得できます。
npArray = df[1:3].values
列名で列を指定してNumPy配列を取得できます。
npArray = df[['col1', 'col2']].values
locで行と列を指定してNumPy配列を取得できます。
npArray = df.loc['20130202':'20170403', 'col1':'col3'].values
スポンサーリンク
サンプルコード
例えば、下記のin.txtがあったとします。
$ cat in.txt 20110101,3,11,1,1 20130202,2,22,2,2 20150303,1,33,3,3 20170403,7,44,4,4 20180503,9,55,5,5
下記がサンプルコードになります。
$ cat sample.py #!/usr/bin/env python3 # coding: UTF-8 import pandas as pd df = pd.read_csv('in.txt', names=('Date', 'col1', 'col2', 'col3', 'col4'), index_col='Date', parse_dates=True) npArray = df.values print(npArray) print(type(npArray)) print("\nスライスで行を指定") npArray = df[1:3].values print(npArray) print(type(npArray)) print("\n列を指定") npArray = df[['col1', 'col2']].values print(npArray) print(type(npArray)) print("\nloc()で行と列を指定") npArray = df.loc['20130202':'20170403', 'col1':'col3'].values print(npArray) print(type(npArray))
下記が実行結果になります。
$ ./sample.py [[ 3 11 1 1] [ 2 22 2 2] [ 1 33 3 3] [ 7 44 4 4] [ 9 55 5 5]] <class 'numpy.ndarray'> スライスで行を指定 [[ 2 22 2 2] [ 1 33 3 3]] <class 'numpy.ndarray'> 列を指定 [[ 3 11] [ 2 22] [ 1 33] [ 7 44] [ 9 55]] <class 'numpy.ndarray'> loc()で行と列を指定 [[ 2 22 2] [ 1 33 3] [ 7 44 4]] <class 'numpy.ndarray'>
スポンサーリンク