【Pandas】DataFrameからコラムを抽出(映画マネーボールみたいなことをしてみた)no.11

![見出しを追加 (33).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/8b9c9395-6256-e743-8090-9af7f83d75a8.png)
こんにちは、まゆみです。

Pandasについての記事をシリーズで書いています。

今回の記事は第11回目で

<font color="Red">第1回目から第9回目はPandasのSeries</font> について、

<font color="Red">第10回目からはDataFrame</font> について書いています。

今回は[前回と同じデータ](http://www.exploredata.net/Downloads/Baseball-Data-Set)を使って『[映画のマネーボール](https://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%8D%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%AB_(%E6%98%A0%E7%94%BB))』みたいなことをしていこうと思います。(笑)

ちなみに、マネーボールを見た事がない方のためにどんな映画か少し紹介しますね。

>マネーボールは実話を元に作られた映画です。

>貧乏で弱小のチームであった『オークランドアスレチック』が良質な選手をお金を出して買うのではなく、統計学的手法を用いて、市場では過少評価されている選手を安く買うという野球の戦い方を始めました。

>そしてその結果は。。。



![スクリーンショット 2021-03-17 071114.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/583822bd-d1cb-55ed-4b8f-c26cf9570b63.jpeg)
引用元：[Netflix](https://www.netflix.com/jp/)

ネットフリックスでも配信されていますので、見た事がない方は是非！(ちなみにネットフリックスからは何の広告料ももらっていませんが、良い映画なので宣伝しますっ！)

#CSVファイルを読み込む

CSVファイルの読み込み方は[こちらの記事](https://qiita.com/Mayumi_Pythonista/items/c29197abd4af408a8d17)で紹介しています。


今回は、CSVデータから<font color="Red">『Series ではなくDataFrameオブジェクトを作りたいので』</font>読み込むところまでしてみてください。

私は当データを『baseball_data.csv』とファイル名を変更しましたので、

```
import pandas as pd
baseball_data = pd.read_csv("baseball_data.csv")
```

とコードを書きました。

実行結果は下記のようになります

![スクリーンショット 2021-03-17 072306.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/bec8d846-91db-9d45-5a43-02bfcb5e85a5.jpeg)

一番上の行が選手のそれぞれのデータの項目になります(コラム名)

『POS』とか『PA』とかって書かれていますが、それぞれのものが意味するのは[こちらのページ](https://legacy.baseballprospectus.com/glossary/index.php?context=all&category=true)に書かれています。
(ずらっと英語の文章が並んでいます。)

![本文を追加 (5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/39d7ca1e-c9de-c5d4-45f2-fd8bcecd79b0.png)

#抽出したいコラムを選ぶ

上のプロセスで作ったDataFrameは134columnsで、134列もあるデータになります。

これは野球選手のスカウトマンになる『練習』ですので、<font color="Red">全てのコラムを使うのではなく、5～6つほどのコラムを選んで</font>みましょう

市場で過小評価されている選手を見つけたいのでもちろん<font color="Red">『PLAYER』と『SALARY』のコラムは必要</font>ですね。

私が選んだコラムは

>PLAYER 　選手名

>SALARY　年俸

>POS　ポジション

>TB　トータルベース(1塁までなら1，2塁までなら2…ホームランなら4で計算した合計)

>SF　犠牲フライ

>SB　盗塁

になります。

コラムには『HR』ホームランという花形選手を象徴するものもあるのですが、そういう選手は年俸も高いので、犠牲フライをよく打つ選手を安く買い、地味に戦います

###コラムを抽出する

ではDataFrameから実際にコラムを抽出しましょう

PandasのDataFrame から2つ以上のコラムを抽出する方法は[こちらのStackOverflowの記事](https://stackoverflow.com/questions/11285613/selecting-multiple-columns-in-a-pandas-dataframe)を参考にしました。

![スクリーンショット 2021-03-17 075200.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/984c36f2-55bb-f9a2-f7b2-e327f4edd7d0.jpeg)
引用元：[stackoverflow.com](https://stackoverflow.com/)

リストにしてから、抜き出すという感じですね。

![DataFrame から2つ以上のコラムを抜き出す.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/3bc6c454-5505-4af8-da5a-9ee2d9aa0991.png)

実行結果は下記のようになりました。

![スクリーンショット 2021-03-17 082122.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/5f4b3f82-389c-c2f1-430a-eabd1558028e.jpeg)


ちなみに、コラムを一つだけ取り出したい時は

```
baseball_data["PLAYER"]
```

と[ ]のなかにコラム名のみ書けば大丈夫です。

実行結果は下記のようになります

![スクリーンショット 2021-03-17 083308.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/08c81161-566b-2586-fe7b-32b63add1220.jpeg)

そしてPythonにビルトインされているデータ型を調べる『type()』

を使ってデータ型を調べるとちゃんと『Series』になっているのが分かります。

#まとめ

ここまで読んでくださりありがとうございます。<(_ _)>

今回の記事はこれくらいで終わりにしようと思います。

今回はデータを抽出するところまでは終わったので、データの分析や計算の方法をまた次回以降にまとめていこうと思います。

よろしくお願いします！