目次

はじめに

pandasはデータ分析支援ライブラリーです。

Pythonでデータ分析をするときに、機械学習の部分はscikit-learnでやりますが、機械学習のための前処理をするときに、pandasを使うととても便利です。

参考書としては、次の本がオススメです。

シリーズとデータフレーム

pandasの基本は、シリーズ (Series) とデータフレーム (DataFrame) と呼ばれるデータ構造です。

シリーズは、(一次元)配列にインデックスが付いたもので、pandas.Seriesクラスのオブジェクトとして表されます。

データフレームは、二次元配列の行と列にインデックスが付いたもので、pandas.DataFrameクラスのオブジェクトとして表されます。

データフレームの列をシリーズとして取り出すことができますので、シリーズも使わないことはありませんが、データ分析するためにはデータフレームを理解することが重要です。

CSVファイルからデータフレームを作る

データ分析をするときはデータをファイルから読み込むことになりますが、pandasには、read_csv関数というCSVファイルを読み込んでデータフレームを作ってくれる関数があります。

例えば、次のような data.csv という名前のCSVファイルを考えてみましょう。

import pandas as pd

これを読み込んでデータフレームを作るには、次のようにread_csv関数を使います。

,X1,X2,X3,Y
1,t,1.0,1.2,+
2,t,0.9,0.8,-
3,f,0.9,1.1,+
4,f,0.8,1.0,-

index_colオプションは、行(データ)のインデックスを表す列番号を指定します。

すると、見出し(インデックス)付きの表の形になります。

df = pd.read_csv('data.csv', index_col=0)
X1X2X3Y
10.11.01.2+
20.20.90.8-
30.10.91.1+
40.30.81.0-

データフレームから説明変数を取り出す

データフレームから説明変数を取り出すには、データフレームのdrop関数を使って目的変数を取り除きます。 説明変数はscikit-learnにnumpy.ndarrayで渡しますので、values属性に格納されている配列を取り出します。

df

drop関数は、行と列、どちらを取り除くのにも使えるので、列を取り除く時にはaxisオプションを 1 に指定します。

データフレームから目的変数を取り出す

データフレームから目的変数を取り出すには、目的変数の列のインデックスを指定します。 目的変数もscikit-learnにnumpy.ndarrayで渡しますので、values属性に格納されている配列を取り出します。

df.dtypes
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS