Kaggle-Pandasコースの内容まとめ
Kaggleの公開コースの中からPandasミニコースの内容を要約しました。
Pandas
データ操作スキルを完璧にするための短い実践的な課題を解決します。
レッスン1. 作成、読み込み、書き込み
Pandasのインポート
1
import pandas as pd
Pandasにはデータフレーム(DataFrame)とシリーズ(Series)という2つの核となるオブジェクトがあります。
データフレーム
データフレーム(DataFrame)は表です。個々のエントリ(entries)で構成される行列を含み、各エントリは特定の値(value)を持ち、1つの行(rowまたはrecord)と列(column)に対応します。データフレームのエントリは必ずしも整数である必要はありません。
1
pd.DataFrame({'Bob': ['I liked it.', 'It was awful.'], 'Sue': ['Pretty good.', 'Bland.']})
データフレームの宣言はPythonの辞書(dictionary)形式で行います。キー(key)には列名、値(value)には記載する項目のリスト(list)を入れます。
通常、データフレームの宣言時に列ラベルにはその列の名前が割り当てられますが、行ラベルには0、1、2…の整数が割り当てられます。必要であれば行ラベルを手動で指定することができます。データフレームで行ラベルのリストをインデックス(Index)と呼び、index
パラメータを使用して値を指定できます。
1
2
3
pd.DataFrame({'Bob': ['I liked it.', 'It was awful.'],
'Sue': ['Pretty good.', 'Bland.']},
index=['Product A', 'Product B'])
シリーズ
シリーズ(Series)はデータ値の列(sequence)です。
1
pd.Series([1, 2, 3, 4, 5])
シリーズは本質的にデータフレームの単一の列と同じです。したがって、同様にインデックスを指定できます。ただし違いは、’列名’の代わりに’名前’、name
を持つことです。
1
pd.Series([30, 35, 40], index=['2015 Sales', '2016 Sales', '2017 Sales'], name='Product A')
シリーズとデータフレームは密接な関係があります。データフレームをシリーズの集まりと考えると理解しやすいでしょう。
データファイルの読み込み
多くの場合、データを直接作成するよりも、既存のデータを取り込んで使用します。データは様々な形式で保存されている可能性がありますが、最も基本的な形式はCSVファイルです。CSVファイルの内容は通常以下のようになっています。
1
2
3
4
Product A,Product B,Product C,
30,21,9,
35,34,1,
41,11,11
つまり、CSVファイルは各値をカンマ(comma)で区切った表です。そのため、名前が”Comma-Separated Values”、CSVとなっています。
CSV形式のデータをデータフレームとして読み込む際は、pd.read_csv()
関数を使用します。
```head()```コマンドを使用してデータフレームの最初の5行を確認できます。
```pd.read_csv()```関数には30以上のパラメータがあります。例えば、読み込もうとするCSVファイルが独自のインデックスを含む場合、```index_col```パラメータの値を指定することで、Pandasが自動的にインデックスを付ける代わりに、該当する列をインデックスとして使用するようにできます。
### データの記録
```to_csv()```メソッドを使用すると、データフレームをCSVファイルとしてエクスポートできます。以下のように使用します。
```python
(データフレーム名).to_csv("(CSVファイルのパス)")
レッスン2. インデックス付け、選択、割り当て
Pandasのデータフレームまたはシリーズから使用する特定の値を選択することは、ほぼすべてのデータを利用する作業で行われるステップです。