CSVファイルをPandasで読み込もう!read_csvの使い方とオプション解説

CSV(Comma Separated Values)は、テキストベースのファイル形式で、データをカンマで区切って表現するものです。

Pandasは、データ解析において広く使われているPythonのライブラリであり、CSVファイルを扱うための便利な機能がたくさんあります。

できること

  • Pandasのread_csv関数を使ってCSVファイルを読み込む方法を理解することができます。
  • CSVファイルのデータをPandas DataFrameオブジェクトとして読み込む方法を学ぶことができます。
  • read_csv関数の引数を適切に指定することで、CSVファイルの読み込みに関するオプションを使いこなすことができます。

read_csv関数は、Pandasが提供するCSVファイルを読み込むための関数の一つであり、CSVファイルをDataFrameというデータ構造に変換することができます。

本記事では、read_csv関数と便利なオプションついて、詳しく解説していきます。

spyderの使い方が分からない方や、エラーが出る方は下のボタンをクリックしてください。

spyderの使い方(ファイル作成・プログラム実行など)が分からない方はクリック

spiderのインストールがまだの方

「Anaconda Powershell Prompt」や「spyder」が分からない方は「Anacondaをインストール|pythonが動く環境を構築しよう」をご覧ください。

新しいファイルを作成する

画面上部のツールバーの中の「用紙」のようなアイコンをクリックすると作成できます。

ショートカットキー Ctrl+N でも作成することが可能です。

プログラムを全部実行する

画面上部のツールバーの中の「再生ボタン」のようなアイコンをクリックするとプログラムが動きます。書いてあるプログラムを全て実行します。

ショートカットキー F5 でも実行することが可能です。

プログラムを一部実行する

画面上部のツールバーの中の「カーソル」のようなアイコンをクリックすると、カーソルを置いている行のプログラムだけが実行されます。何行かを範囲選択している場合は、選択している行のプログラムだけが実行されます。

ショートカットキー F9 でも実行することが可能です。

ModuleNotFoundError が出る方はクリック

「ライブラリがインストールされてないですよ」というエラー文です。ライブラリをインストールして解消しましょう。インストールはとても簡単です。「Anaconda Powershell Prompt」を新たに立ち上げ、適切なコマンドを貼り付けてエンターを押すだけです。

ModuleNotFoundErrorに続く文字によって、コマンドが異なりますので、エラー文をよく見て適切なコマンドを貼り付けてください。

ModuleNotFoundError: No module named 'webdriver_manager'

pip install webdriver-manager

「Anaconda Powershell Prompt」を新しく立ち上げます。そこに上記コードをコピーしてエンターを押します。必要なライブラリが自動でインストールされるので、終わるまで待ちます。

ModuleNotFoundError: No module named 'selenium'

pip install selenium

「Anaconda Powershell Prompt」を新しく立ち上げます。そこに上記コードをコピーしてエンターを押します。必要なライブラリが自動でインストールされるので、終わるまで待ちます。

読み終わりまで
短い
10分
以内
20分位
30分位
40分位
60分
以上
長い

read_csv関数の基本的な使い方

read_csv関数を使ってCSVファイルを読み込むには、以下のようにコードを記述します。

import pandas as pd

df = pd.read_csv('sample.csv')

sample.csvは、読み込むCSVファイルのパスを指定します。

read_csv関数は、CSVファイルを読み込んでDataFrameというデータ構造に変換し、dfという名前の変数に代入しています。

「import pandas as pd」とは

「pd」は、Pandasの別名を定義するためのコードです。Pandasをインポートする際に「as pd」という文を付けることで、「pd」という短い別名を定義することができます。以降、Pandasの機能を呼び出す際には、「pd.メソッド名」という形式で呼び出すことができます。

デフォルトオプション

read_csv関数は、デフォルトで以下のようなオプションが設定されています。

オプション名デフォルトの動き
delimiterカンマを区切り文字として使用する。
header1行目を列名として使用する。
index_col行ラベルとして使用する列を指定しない。
dtypeデータ型を自動的に推測する。
encodingファイルのエンコーディングを自動的に推測する。


これらのオプションは、必要に応じて変更することができます。

次に、代表的なオプションをいくつか紹介します。

delimiterオプション

delimiterオプションは、区切り文字を指定するためのオプションです。

デフォルトではカンマが区切り文字として使用されますが、タブやセミコロンなど他の文字も指定することができます。以下は、タブを区切り文字として使用する例です。

import pandas as pd

df = pd.read_csv('sample.tsv', delimiter='\t')

delimiterオプションに\tを指定しているため、タブ区切のCSVを読み込むことができます。

headerオプション

headerオプションは、列名を指定するためのオプションです。

デフォルトでは、CSVファイルの1行目が列名として使用されます。

しかし、列名がCSVファイルに含まれていない場合や、列名を別の行に含めている場合は、headerオプションを使って適切な行番号を指定する必要があります。

以下は、列名が含まれていないCSVファイルを読み込む例です。

import pandas as pd

df = pd.read_csv('sample.csv', header=None, names=['A', 'B', 'C'])

header=Noneを指定することで、CSVファイルに含まれる1行目のデータが列名として使用されないようにしています。

また、namesオプションによって、列名を指定しています。

namesオプションは、header=Noneとする場合に必要なオプションです。

index_colオプション

index_colオプションは、行ラベルとして使用する列を指定するためのオプションです。

デフォルトでは、行ラベルは自動的に振られますが、CSVファイルに含まれる特定の列を行ラベルとして使用したい場合に指定します。

以下は、ID列を行ラベルとして使用する例です。

import pandas as pd

df = pd.read_csv('sample.csv', index_col='ID')

index_col='ID'を指定することで、ID列が行ラベルとして使用されます。

dtypeオプション

dtypeオプションは、列ごとにデータ型を指定するためのオプションです。

デフォルトでは、read_csv関数はデータ型を自動的に推測しますが、特定の列についてはデータ型が異なる場合に指定することができます。

以下は、Date列を日付型、Price列を浮動小数点数型として読み込む例です。

import pandas as pd

df = pd.read_csv('sample.csv', dtype={'Date': 'datetime64', 'Price': 'float'})

dtypeオプションに、Date列とPrice列に対してそれぞれ適切なデータ型を指定しています。

encodingオプション

encodingオプションは、ファイルのエンコーディングを指定するためのオプションです。

デフォルトでは、read_csv関数はエンコーディングを自動的に推測しますが、CSVファイルが異なるエンコーディングで保存されている場合に指定することができます。

以下は、UTF-8エンコーディングで保存されたCSVファイルを読み込む例です。

import pandas as pd

df = pd.read_csv('sample.csv', encoding='utf-8')

encoding='utf-8'を指定することで、UTF-8エンコーディングで保存されたCSVファイルを読み込みます。

skiprowsオプション

skiprowsオプションは、読み込みをスキップする行を指定するためのオプションです。

デフォルトでは、読み込みをスキップする行はありませんが、CSVファイルに不要な行が含まれている場合に指定することができます。

以下は、1行目と3行目をスキップして読み込む例です。

import pandas as pd

df = pd.read_csv('sample.csv', skiprows=[0, 2])

skiprows=[0, 2]を指定することで、1行目と3行目をスキップして読み込みます。

na_valuesオプション

na_valuesオプションは、欠損値として扱う値を指定するためのオプションです。

デフォルトでは、read_csv関数は空白文字を欠損値として扱いますが、CSVファイルに欠損値として扱う値が含まれている場合に指定することができます。

以下は、-を欠損値として扱う例です。

import pandas as pd

df = pd.read_csv('sample.csv', na_values=['-'])

na_values=['-']を指定することで、-を欠損値として扱います。

ひとり親家庭・働く女性支援!MamaEduプロジェクト!

ひとり親家庭の方々に向けた、Webスキルを身に着けることができる「インターネット・アカデミー」をご紹介します。インターネット・アカデミーは、1995年に開校した日本初のWeb専門スクールで、Webデザイン、Webマーケティング、プログラミング、動画編集など、現場で活躍できるIT人材の育成を行っています。3万人以上の卒業生が活躍しており、2022年にはTBSテレビ「news23」のSDGs特集でも紹介されるなど、注目を集めています。

特に、ひとり親向けの給付金制度を活用した場合、最大で193万円受給しながら勉強ができるという大変お得なシステムがあります。Webデザイン、Webマーケティング、プログラミングなど、15コース以上の給付金対象のコースがあり、国の給付金を活用して学べる点が魅力です。また、キャリアプロデューサーによる就職支援や、女性向けの「mamaeduプロジェクト」など、ひとり親家庭の方々をサポートする取り組みも充実しています。

Webスキルを身に着けることによって、将来的には自分自身のキャリアアップにもつながりますし、求人市場でも高い需要があります。是非、インターネット・アカデミーを通じて、新しいスキルを身に着け、将来の夢を実現してみてはいかがでしょうか。

<strong>しゃちく</strong><span data-color="#7bdcb5" style="background: linear-gradient(transparent 60%,rgba(123, 220, 181, 0.7) 0);" class="vk_highlighter"><br></span>
しゃちく

福岡の中小企業で、社内SEとして勤務。
主な業務は、通販の運営、自社飲食店のハンディやレジの設定、PCトラブル対応、LP作成、HP更新など。
Pythonで業務自動化ツールを100個以上自作した経験をもとに、ツールを作る方法をメインにブログを更新している。
このブログが、誰かのお役に立てば幸いです!

投稿





コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です