• 追加された行はこの色です。
  • 削除された行はこの色です。
*目次 [#w2313090]
#contents


*はじめに [#h99a2c8f]

pandasはデータを扱うためのライブラリーです。
pandasはデータ分析支援ライブラリーです。

pandasの基本は、''データフレーム'' (DataFrame) と呼ばれるデータ構造です。
Pythonでデータ分析をするときに、機械学習の部分はscikit-learnでやりますが、機械学習のための前処理をするときに、pandasを使うととても便利です。

データフレームは、二次元配列の行と列にインデックスが付いたもので、''pandas.DataFrameクラス''で表されます。
参考書としては、次の本がオススメです。
#html{{
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="https://rcm-fe.amazon-adsystem.com/e/cm?ref=qf_sp_asin_til&t=tohgorohmatsu-22&m=amazon&o=9&p=8&l=as1&IS2=1&detail=1&asins=4873116554&linkId=6d4c9121f7d09fe9aa24fea76158e69c&bc1=ffffff&lt1=_blank&fc1=444b4c&lc1=444b4c&bg1=ffffff&f=ifr"></iframe>
}}


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

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

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

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


*データフレームを作る [#f2f3a3c6]

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

例えば、次のような data.csv という名前のCSVファイルを考えてみましょう。
#geshi(csv){{
,X1,X2,X3,Y
1,0.1,1.0,1.2,+
2,0.2,0.9,0.8,-
3,0.1,0.9,1.1,+
4,0.3,0.8,1.0,-
}}

これを読み込んでデータフレームを作るには、次のようにread_csv関数を使います。
#geshi(python){{
df = pd.read_csv('data.csv', index_col=0)
}}
index_colオプションは、行(データ)のインデックスを表す列番号を指定します。

すると、見出し(インデックス)付きの表の形になります。
#geshi(python){{
df
}}
||X1|X2|X3|Y|h
|~1|0.1|1.0|1.2|+|
|~2|0.2|0.9|0.8|-|
|~3|0.1|0.9|1.1|+|
|~4|0.3|0.8|1.0|-|


*行のインデックスを取り出す [#faf428fe]

データフレーム・オブジェクトの''index属性''に、行のインデックス・オブジェクトが格納されています。
#geshi(python){{
df.index
}}
#geshi(txt){{
Int64Index([1, 2, 3, 4], dtype='int64')
}}

インデックス・オブジェクトの''values属性''には、インデックスの値がnumpy.ndarrayで格納されています。
#geshi(python){{
df.index.values
}}
#geshi(txt){{
array([1, 2, 3, 4])
}}

*列のインデックスを取り出す [#i221162d]

データフレーム・オブジェクトの''columns属性''に、列のインデックス・オブジェクトが格納されています。
#geshi(python){{
df.columns
}}
#geshi(txt){{
Index(['X1', 'X2', 'X3', 'Y'], dtype='object')
}}

行のインデックスと同様に、インデックス・オブジェクトの''values属性''には、インデックスの値がnumpy.ndarrayで格納されています。
#geshi(python){{
df.columns.values
}}
#geshi(txt){{
array(['X1', 'X2', 'X3', 'Y'], dtype=object)
}}

このページはまだ書きかけです。

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