機械学習/Pythonでデータ分析する次の一歩(データ分析支援ライブラリー、pandas編)
をテンプレートにして作成
開始行:
*目次 [#w2313090]
#contents
*はじめに [#h99a2c8f]
pandasはデータ分析支援ライブラリーです。
Pythonでデータ分析をするときに、機械学習の部分はscikit-le...
参考書としては、次の本がオススメです。
#html{{
<iframe style="width:120px;height:240px;" marginwidth="0"...
}}
*ライブラリーの読み込み [#qf3d2bba]
pandasのライブラリー名は ''pandas'' です。
ここでは、以後、pd とします。
#geshi(python){{
import pandas as pd
}}
*シリーズとデータフレーム [#maa26223]
pandasの基本は、''シリーズ'' (Series) と''データフレーム'...
''シリーズ''は、(一次元)配列にインデックスが付いたもの...
''データフレーム''は、二次元配列の行と列にインデックスが...
データフレームの列をシリーズとして取り出すことができます...
*CSVファイルからデータフレームを作る [#f2f3a3c6]
データ分析をするときはデータをファイルから読み込むことに...
例えば、次のような data.csv という名前のCSVファイルを考え...
#geshi(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,-
}}
これを読み込んでデータフレームを作るには、次のようにread_...
#geshi(python){{
df = pd.read_csv('data.csv', index_col=0)
}}
index_colオプションは、行(データ)のインデックスを表す列...
すると、見出し(インデックス)付きの表の形になります。
#geshi(python){{
df
}}
||X1|X2|X3|Y|h
|~1|t|1.0|1.2|+|
|~2|t|0.9|0.8|-|
|~3|f|0.9|1.1|+|
|~4|f|0.8|1.0|-|
*変数の型を調べる [#pc20372f]
変数の型は、データフレーム・オブジェクトのdtypes属性に格...
#geshi(python){{
df.dtypes
}}
#geshi(txt){{
X1 object
X2 float64
X3 float64
Y object
dtype: object
}}
*変数の型を変換する [#idab6062]
scikit-learnはnumpy.ndarrayでデータを扱いますが、numpy.nd...
これに対し、pandasでは、説明変数ごとに型推定を行い、それ...
特に、文字列を含む型はobject型になります。
scikit-learnを使うには、pandasにおいて説明変数を取り出す...
**カテゴリーを表す文字列をカテゴリー番号に変換する [#ff1a...
カテゴリーを表す文字列が格納されている列の型をカテゴリー...
#geshi(python){{
df.X1.astype('category').cat.codes
}}
#geshi(txt){{
1 0
2 0
3 1
4 1
dtype: int8
}}
そこで、データフレームをコピーし、カテゴリーを表す変数を...
#geshi(python){{
df_cat = df
df_cat.X1 = df.X1.astype('category').cat.codes
df_cat.dtypes
}}
#geshi(txt){{
X1 int8
X2 float64
X3 float64
Y object
dtype: object
}}
**カテゴリーを表す文字列をダミー変数に変換する [#qbccb273]
カテゴリーを表す文字列が格納されている列の型をダミー変数...
#geshi(python){{
df_dum = pd.get_dummies(df)
df_dum
}}
||X1_t|X1_t|X2|X3|Y|h
|~1|1|0|1.0|1.2|+|
|~2|1|0|0.9|0.8|-|
|~3|0|1|0.9|1.1|+|
|~4|0|1|0.8|1.0|-|
このように、カテゴリーごとにダミー変数が用意され、そのカ...
*データフレームから説明変数を取り出す [#m3afbb81]
データフレームから説明変数を取り出すには、データフレーム...
説明変数はscikit-learnにnumpy.ndarrayで渡しますので、''va...
#geshi(python){{
X = df.drop('Y', axis=1).values
}}
drop関数は、行と列、どちらを取り除くのにも使えるので、列...
*データフレームから目的変数を取り出す [#qa35591d]
データフレームから目的変数を取り出すには、目的変数の列の...
目的変数もscikit-learnにnumpy.ndarrayで渡しますので、''va...
#geshi(python){{
y = df['Y'].values
}}
終了行:
*目次 [#w2313090]
#contents
*はじめに [#h99a2c8f]
pandasはデータ分析支援ライブラリーです。
Pythonでデータ分析をするときに、機械学習の部分はscikit-le...
参考書としては、次の本がオススメです。
#html{{
<iframe style="width:120px;height:240px;" marginwidth="0"...
}}
*ライブラリーの読み込み [#qf3d2bba]
pandasのライブラリー名は ''pandas'' です。
ここでは、以後、pd とします。
#geshi(python){{
import pandas as pd
}}
*シリーズとデータフレーム [#maa26223]
pandasの基本は、''シリーズ'' (Series) と''データフレーム'...
''シリーズ''は、(一次元)配列にインデックスが付いたもの...
''データフレーム''は、二次元配列の行と列にインデックスが...
データフレームの列をシリーズとして取り出すことができます...
*CSVファイルからデータフレームを作る [#f2f3a3c6]
データ分析をするときはデータをファイルから読み込むことに...
例えば、次のような data.csv という名前のCSVファイルを考え...
#geshi(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,-
}}
これを読み込んでデータフレームを作るには、次のようにread_...
#geshi(python){{
df = pd.read_csv('data.csv', index_col=0)
}}
index_colオプションは、行(データ)のインデックスを表す列...
すると、見出し(インデックス)付きの表の形になります。
#geshi(python){{
df
}}
||X1|X2|X3|Y|h
|~1|t|1.0|1.2|+|
|~2|t|0.9|0.8|-|
|~3|f|0.9|1.1|+|
|~4|f|0.8|1.0|-|
*変数の型を調べる [#pc20372f]
変数の型は、データフレーム・オブジェクトのdtypes属性に格...
#geshi(python){{
df.dtypes
}}
#geshi(txt){{
X1 object
X2 float64
X3 float64
Y object
dtype: object
}}
*変数の型を変換する [#idab6062]
scikit-learnはnumpy.ndarrayでデータを扱いますが、numpy.nd...
これに対し、pandasでは、説明変数ごとに型推定を行い、それ...
特に、文字列を含む型はobject型になります。
scikit-learnを使うには、pandasにおいて説明変数を取り出す...
**カテゴリーを表す文字列をカテゴリー番号に変換する [#ff1a...
カテゴリーを表す文字列が格納されている列の型をカテゴリー...
#geshi(python){{
df.X1.astype('category').cat.codes
}}
#geshi(txt){{
1 0
2 0
3 1
4 1
dtype: int8
}}
そこで、データフレームをコピーし、カテゴリーを表す変数を...
#geshi(python){{
df_cat = df
df_cat.X1 = df.X1.astype('category').cat.codes
df_cat.dtypes
}}
#geshi(txt){{
X1 int8
X2 float64
X3 float64
Y object
dtype: object
}}
**カテゴリーを表す文字列をダミー変数に変換する [#qbccb273]
カテゴリーを表す文字列が格納されている列の型をダミー変数...
#geshi(python){{
df_dum = pd.get_dummies(df)
df_dum
}}
||X1_t|X1_t|X2|X3|Y|h
|~1|1|0|1.0|1.2|+|
|~2|1|0|0.9|0.8|-|
|~3|0|1|0.9|1.1|+|
|~4|0|1|0.8|1.0|-|
このように、カテゴリーごとにダミー変数が用意され、そのカ...
*データフレームから説明変数を取り出す [#m3afbb81]
データフレームから説明変数を取り出すには、データフレーム...
説明変数はscikit-learnにnumpy.ndarrayで渡しますので、''va...
#geshi(python){{
X = df.drop('Y', axis=1).values
}}
drop関数は、行と列、どちらを取り除くのにも使えるので、列...
*データフレームから目的変数を取り出す [#qa35591d]
データフレームから目的変数を取り出すには、目的変数の列の...
目的変数もscikit-learnにnumpy.ndarrayで渡しますので、''va...
#geshi(python){{
y = df['Y'].values
}}
ページ名: