Pandasのread_csvでCSVファイルを読み込む(タイタニックのCSV使用)no.5

![見出しを追加 (20).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/84dde38d-5f2a-b05e-f1dd-ab72720247e0.png)


こんにちは、まゆみです。

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

今回は第5回目になります。

前回までは色々と基礎的な事を語ってきました。

今回は実際リアルなデータを使って、Pandas の便利な機能を見ていきましょう

[data.world](https://data.world/)さんのサイトからcsvファイルのデータを使わせていただきます！

今回は、あの有名な<font color="Red">『タイタニック号』に関するデータ</font>を引っ張ってきました。

#Pandas のread_csv メソッドを使う
![見出しを追加 (21).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/00e9d74e-e4a2-01ec-b94a-9edf2ddc3202.png)


今回使わせていただくのは下記のようなCSVファイルデータになります



![スクリーンショット 2021-03-13 092947.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/ecb9dbf0-4f00-859d-2d52-4e7cc42351da.jpeg)

ずらっと数字やテキストが並んで少し見にくいですね。

このデータをPandas の<font color="Red">read_csv メソッドを利用してDataFrame として</font>読み込みます
※DataFrame とSeries の違いが分からない人は[こちらの記事](https://qiita.com/Mayumi_Pythonista/items/a252edf67ac6ab517f15)のPandasのSeriesとは？という項目を読んでくださいね。

Pandas のread_csv メソッドでCSVファイルを読み込むとどのように表してくれるでしょうか？

<font color="Red">CSVデータの一番上の赤線の部分は、Pandasのread_csv メソッドで読み込むとコラム欄として勝手に認識</font>してくれます。

```
import pandas as pd
pd.read_csv("ファイル名")
```
![スクリーンショット 2021-03-13 104248.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/5b853e94-5aa4-ffc1-79bb-7b79d1a82b74.jpeg)


上記のコードを実行した結果がその下にあるスクリーンショットになります。

綺麗にフォーマットされました。

一番下には、データの大きさが記載されます

今回のデータは1309行、14コラムになります。

データの途中にある

・・・

は途中にあるデータは端折って表示してますよということを意味しています

#DataFrame からSeriesにする
![本文を追加 (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/8f98d558-d175-b346-b065-ab55f46e948b.png)

read_csv() はcsvを『DataFrame』として読み込むのでSeries として使いたい時はさらに加工が必要です。


<font color="Red">DataFrame はエクセルシートで言えばページ全体を</font>

<font color="Red">Series は1コラムのみを</font>

指します。

今回のデータでは、タイタニック号事件で亡くなったか生存できたかのデータのみを取っていきましょう

>Shift ＋Tab

>でread_csv に関する説明を見ることができます。
>![スクリーンショット 2021-03-13 100719.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/bd9636f9-9324-c9fe-39d6-171c4801f16e.jpeg)




usecols というパラメーターをファイル名の次に足して書きます。

usecols はuse columns の略でして、どのコラムを使うか？という意味です。

今回使いたいコラム名は『survived』の欄なので

```
pd.read_csv("titanic.csv", usecols= ["survived"])
```

と書き足しましょう

##1コラムだけ取り出したDataFrameをSeries にする

![スクリーンショット 2021-03-13 113629.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/57364d9d-9b1a-580c-13e4-5207b97cd7eb.jpeg)
引用元：Pandasドキュメント

翻訳：解析したデータに１つのコラムしか含まれていない場合、Seriesを返す

DataFrame から1コラムだけ取り出したものをSeries　に変える『squeeze』をパラメーターとして書き足して下さい。
ディフォルト値はFalse なので

```
pd.read_csv("titanic.csv", usecols=["survived"], squeeze=True)
```

となります



#亡くなった人と生存者の数を取り出す

ではこのSeries からタイタニック号事件で亡くなった人と生存者の数を調べてみましょう。

survived のコラム欄の

0 が亡くなった人

1 が生存者

になりますので、数を数えてくれるSeries のメソッド　

『[.value_counts()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.value_counts.html)』を使います

※data.worldのデータ
![スクリーンショット 2021-03-13 105306.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/6cd0fbf4-f847-8973-5dda-4e4b65ec1b4c.jpeg)

※pandas を利用してはじき出したデータ
![スクリーンショット 2021-03-13 114527.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/a85dfac9-ab6e-0185-4411-b5366920d683.jpeg)



ちゃんと、一致していますね。

#どのメソッドを使えば分からない時

![見出しを追加 (22).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1011305/0002cee4-4e46-fe58-05e6-e9cf087ea36c.png)


データの数を数えるには『.value_counts()』を使ってくださいと言いましたが、全てのメソッドを覚えることはできません。

ではどのメソッドを使うべきか分からない時、どうしたら良いの？

<font color="Red">Google に聞いてみましょう！</font>

1番上の検索結果から当てはまりそうなものを読んで試してみてください。

ちなみに私はプログラミングの勉強と並行して

<font color="Red">英語を勉強する</font>

ことを強くおすすめします

最新の情報もつかみやすいですし、英語のまま翻訳されていないドキュメントも多々あります。(pandasの日本語ドキュメントも今の時点ではありません。)

また英語で検索すると、手に入れられる情報量が違います。

#まとめ

今回は

<ul>
<li>Pandasのread_csv()メソッドを使う</li>
<li>DataFrameをSeriesに変える</li>
<li>Seriesの各アイテム数を数える</li>
</ul>


ことまでを書かせていただきました。


少しづつですが、またPandasの使い方について書いていきますね。

次回もよろしくお願いします！