---
title: #16 csvデータの読込
tags: 
author: [猫のタロー](https://convert.docswell.com/user/Cat_Taro)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/3EKXYRQL7D.jpg?width=480
description: データサイエンス体験動画「データサイエンス　チュートリアル　猫のタロー編」、第16回目、Section 14「csvデータの読込」です。  今回は、 1st STEPで作成したcsvデータ「id_pos4」を読み込みます。  その際、データ型を指定して読み込ます。 また、余分な列を削除して、集計や分析の際に分かりやすいきれいなデータにしましょう。  今回の動画は、それらを実現する下記のプログラムを解説します。  　㉙ pd.read_csv(“データのある場所”, parse_dates=[“列名&quot;], dtype ={&quot;列名1&quot;: データ型 　　, &quot;列名2&quot;: データ型})  　㉚ データ名.drop(&quot;列名&quot;, axis=1)  axis=0とaxis=1の違いもよく理解しておきましょう。  1st STEP同様、動画のテキスト、追加情報は下記のブログを参考にしてください！  ■この動画のブログ  データサイエンス チュートリアル https://tutorial4datascience.blogspot.com/
published: September 07, 23
canonical: https://convert.docswell.com/s/Cat_Taro/538J1V-2023-09-07-223432
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/3EKXYRQL7D.jpg)

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


# Page. 2

![Page Image](https://bcdn.docswell.com/page/L73598P6E5.jpg)

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


# Page. 3

![Page Image](https://bcdn.docswell.com/page/87DDGMLM7G.jpg)

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


# Page. 4

![Page Image](https://bcdn.docswell.com/page/VJPX3R2Q78.jpg)

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


# Page. 5

![Page Image](https://bcdn.docswell.com/page/2EVL4RDPJQ.jpg)

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


# Page. 6

![Page Image](https://bcdn.docswell.com/page/57GX1MYQEL.jpg)

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


# Page. 7

![Page Image](https://bcdn.docswell.com/page/4EQ8DRMWJP.jpg)

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


# Page. 8

![Page Image](https://bcdn.docswell.com/page/KJ42Z8V1E1.jpg)

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


# Page. 9

![Page Image](https://bcdn.docswell.com/page/LE1MR2357G.jpg)

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


# Page. 10

![Page Image](https://bcdn.docswell.com/page/GEW31RPWE2.jpg)

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


