【Python】【pandas】データ読込みの方法まとめ

はじめに

数万行あるExcelやCSVデータを使って、データの集計を行うのに、全てExcelを用いているとPC側のスペックの問題で作業が効率的でないことがよくあります。特に、データ集計・分析にあたっては、データクレンジングを含めて、下準備が必要であることも多く、 pythonのpandasを使った方が効率的であることがあります。

今回含めて複数に分けて、pythonのpandasを用いたコーディングの方法や、用いることが可能な引数をまとめていきます。

※ 本稿では、ライブラリのインポート方法や開発環境の整備については割愛し具体のコードのみ、個人的な備忘として整理していきます。

データ集計・分析の全体像(本稿の位置づけ)

工藤卓哉、保科学世著「データサイエンス超入門」によれば、データ分析の流れは大きく7ステップあると言及されています。

その中でも、本稿は特に「3 データ収集」フェーズにおける、具体的な手順に関して解説したものに位置付けられます。

データの読込み方法

Excelファイルである場合

(コードテンプレート)

import pandas as pd

データフレーム名 = pd.read_excel(ファイルパス, sheet_name=シート名 ,header=0, usecols=[列名1, 列名2, 列名3], dtype={列名1:object})

項目名 設定内容
ファイルパス 読み込むファイルの絶対/相対パスを設定。
sheet_name 読込みたいExcelシートを設定することで、特定シート読込みが可能。
header 開始行が1行目ではない場合等に、読み込みたい開始行を設定。
usecols 使いたい列が特定されている場合に設定。
複数列を設定するにあたっては、「[]」で囲む必要有。
dtypeデータ列のデータ型を指定して、読込みたい場合に設定。
この場合、ある列を○○の型で読み込みたいという形になるので、Dic型のように「{}」で囲む必要有。
引数等の設定内容(Excel)

CSVファイルである場合

(コードテンプレート)

import pandas as pd

データフレーム名 = pd.read_csv(ファイルパス, header=0, usecols=[列名1, 列名2, 列名3], dtype={列名1:object}, encoding=’cp932′)

項目名 設定内容
ファイルパス 読み込むファイルの絶対/相対パスを設定。
header 開始行が1行目ではない場合等に、読み込みたい開始行を設定。
usecols 使いたい列が特定されている場合に設定。
複数列を設定するにあたっては、「[]」で囲む必要有。
dtype データ列のデータ型を指定して、読込みたい場合に設定。
この場合、ある列を○○の型で読み込みたいという形になるので、Dic型のように「{}」で囲む必要有。
encoding文字コードを指定したい場合に設定。
「sjis」や「cp932」があるが、個人的にエラーが出た際には「cp932」を設定することが効果的な印象。
引数等の設定内容(CSV)

最後に

個人的にも、いつもコーディングするときに忘れてしまいがちなことをまとめてます。今後は、データクレンジング(ある値で空白を埋める、データ変換、列名変更等)の方法を一気にまとめていきたいところです。

必要に応じて追記していきますので、もし「これも!」ってものがあれば、ご教示いただけますと幸いです。