#16 csvデータの読込

>100 Views

September 07, 23

スライド概要

データサイエンス体験動画「データサイエンス チュートリアル 猫のタロー編」、第16回目、Section 14「csvデータの読込」です。

今回は、 1st STEPで作成したcsvデータ「id_pos4」を読み込みます。

その際、データ型を指定して読み込ます。
また、余分な列を削除して、集計や分析の際に分かりやすいきれいなデータにしましょう。

今回の動画は、それらを実現する下記のプログラムを解説します。

 ㉙ pd.read_csv(“データのある場所”, parse_dates=[“列名"], dtype ={"列名1": データ型
  , "列名2": データ型})

 ㉚ データ名.drop("列名", axis=1)

axis=0とaxis=1の違いもよく理解しておきましょう。

1st STEP同様、動画のテキスト、追加情報は下記のブログを参考にしてください!

■この動画のブログ

データサイエンス チュートリアル
https://tutorial4datascience.blogspot.com/

profile-image

すべてのビジネスパーソンが意思決定プロセスにデータを活用する思考を身につけ、ブルシットジョブをこの世からなくしていきましょう!

関連スライド

各ページのテキスト
1.

1 2nd STEP 集計とグラフ描画 Section 14 csvデータの読込 ㉙ pd.read_csv("データのある場所", parse_dates=["列名"], dtype = {"列名1": データ型, "列名2": データ型}) ㉚ データ名.drop("列名", axis=1)

2.

2 Section 14 どのような集計をして、グラフを描くのか? 1.csvの読み込み まずは、 1st STEPで作成した「id_pos4」を読み込みます。 pd.read_csv(“データのある場所”)を使い、csvを読み込みます。ただし、データ型を 指定して読み込まないと、後で行う集計ができなくなってしまいます。「“データのある場 所”」の後にカンマを続け、読み込みの条件(引数[ひきすう])を続けます。 主な引数は、 parse_dates=[“列名”] → 指定した列をdatetimeに変換します。 [”列名1 ”, ”列名2”, ・・・]と続けることも可能です。 dtype={“列名1” :データ型, “列名2” :データ型, ・・・} → 整数や文字列などのデータ型を指定できます。 *データ型に関しては、Section 5を参照。 まとめると、次のようになります。 ㉙ pd.read_csv(“データのある場所”, parse_dates=[“列名"], dtype ={"列名1": データ型, "列名2": データ型})

3.

3 Section 14 どのような集計をして、グラフを描くのか? 2.列の削除 不要な列を削除するときには、下記を使います。 ㉚ データ名.drop("列名", axis=1) また、行を削除するときには、次のように使います。 データ名.drop(1) → 1行目だけを削除 データ名.drop(range(150, 160)) → 150~160行目を削除

4.

4 Section 14 どのような集計をして、グラフを描くのか? 参考: axisの方向 ここで、注意して欲しいのは、㉚では、列を削除するときに「axis=1」としましたが、 Section 7で列の中での最大値を求める場合は、「⑭ データ名[“列名”].max(axis=0)」 としました。 同じ列を対象とした処理を行っているのにaxis=1、 axis=0があるというのは理解しにくいと 思います。 axis=1は、列名も含めた横方向の処理 axis=0は、インデックスも含めた縦方向の処理 を指示していると考えて覚えましょう。 pandasのaxisの方向の覚え方 @udus122より

5.

5 Section 14 どのような集計をして、グラフを描くのか? 新しいノートブックを作成 まずは、Googleドライブを開き、「マイドライブ」→「Colab Notebooks」に、新しいノートブックを 作成します。Section 1を思い出し、ノートブックの名前は「集計とグラフ描画」で保存します。 フォルダー「Colab Notebooks」は、下記のようになっていると思います。

6.

6 Section 14 どのような集計をして、グラフを描くのか? ㉙ pd.read_csv("データのある場所", parse_dates=["列名"], dtype = {"列名1": データ型, "列名2": データ型}) ライブラリーは、 「numpy」と「pandas」をインポートしておきましょう。 1st STEPで作成した「id_pos4」を読み込みます。この際、読み込んだデータを「id_pos5」と宣 言し、㉙を用いてデータ型を指定しましょう。

7.

7 Section 14 どのような集計をして、グラフを描くのか? ㉙ pd.read_csv("データのある場所", parse_dates=["列名"], dtype = {"列名1": データ型, "列名2": データ型}) 結果を見てみると、「CustomerID」が、「17850.0」のように小数点が含まれています。 「id_pos4」を、メモ帳で見ると下記のようになっています。「CustomerID」のデータ型は、文字 列(object)なので集計する上では問題はないのですが、見栄えが良くないので、小数点以下 を削除しておきたいと思います。

8.

8 Section 14 どのような集計をして、グラフを描くのか? ㉙ pd.read_csv("データのある場所", parse_dates=["列名"], dtype = {"列名1": データ型, "列名2": データ型}) この場合、まずは「CustomerID」のデータ型を整数(int)で読み込みます。

9.

9 Section 14 どのような集計をして、グラフを描くのか? ⑱ データ名.astype({“列名”:データ型}) 先ほど読み込んだ「id_pos6」に⑱で、「CustomerID」を「object」に変更したものを 「id_pos6_1」と宣言します。 「 id_pos6」の変形なので、このようなデータ名を付けておくと、後 で分かりやすくなります。 「.dtypes」を用いて、「id_pos6_1」の「CustomerID」の データ型を確かめてみましょう。確かに文字列(object)に なっていますね。

10.

10 Section 14 どのような集計をして、グラフを描くのか? ㉚ データ名.drop(“列名”, axis=1) ついでに、列名「Unnamed: 0」も目障りなので、列全体を削除しましょう。これは、インデックスが 列になってしまったものです。 ㉚を使います。axis=1ですね。これも、結果を「id_pos6_2」と宣言しておきます。