pandasライブラリのread_csv関数の使い方が分かりません・・・
read_csv関数はPythonからcsvデータを読み込むための関数だ。
✔️ 本記事のテーマ
pandas.read_csv関数の使い方
✔️ 読者さんへの前置きメッセージ
本記事は「pandasライブラリのread_csv関数の使い方」について書いています。
この記事を読むことで
「pandas.read_csv関数の使い方 や csvデータを読み込む方法」
を理解できます。
Pandasはデータ分析などで使われるPythonライブラリです。
Pandasライブラリを使えば、
csvファイルのデータを読み込んでPythonから操作することが可能になります。
今回はPandasライブラリのread_csv関数を使って、
Pythonからcsvデータを操作する方法について解説します。
Pandasとは?(read_csv関数の解説の前に)
Pandasとはデータ分析用のPythonライブラリです。
独自の型でデータを保持することができ、直感的かつ視覚的なデータ操作を実現します。
データサイエンティストを目指すのであれば、必ず使い方をマスターしておきたいライブラリです。
なお、Pandasについては
「PythonライブラリのPandasを徹底解説!」の記事で詳しく解説しています。
また、様々な関数が用意されていて、
今回の記事で解説するcsvの他にもExcelデータやtsvなども扱うことができます。
参考記事:「PandasでExcelファイルを読み込む【Python】」
Pandasのread_csv関数の使い方
Pandasのread_csv関数の使い方は以下のとおりです。
pd.read_csv(‘ファイルパス’)
ファイルパスを指定するだけでcsvデータを読み込むことができます。
また、この関数の戻り値はPandasのDataFrame型となっています。
PandasのDataFrameについての詳しい解説は
「PandasのDataFrameを徹底解説【コード付き】」の記事に書いています。
Pandas.read_csvを実際に使ってみる
それではPandas.read_csv関数を実際に使ってみましょう。
以下のようなcsvファイルを読み込みます。
a, b, c, d,
e, f, g, h,
i, j, k, l
以下のコードでread_csv関数を使って先ほどのcsvデータを読み込むことができます。
import pandas as pd
df = pd.read_csv('./sample.csv')
print(df)
# a b c d
# 0 e f g h
# 1 i j k l
表示されているようにread_csv関数は1行目をheader(=列名)として認識します。
1行目をheaderとして読み込みたくない場合は、
以下のようにheader=Noneのオプションを引数にすると全てのデータが値として読み込まれます。
なお、この場合、列名には自動的に連番が付与されます。
df_none = pd.read_csv('./sample.csv', header=None)
print(df_none)
# 0 1 2 3
# 0 a b c d
# 1 e f g h
# 2 i j k l
列名を付けたい場合は、
names=(‘A’, ‘B’, ‘C’, ‘D’)のオプションを引数にすることで、任意の列名を付与することができます。
df_names = pd.read_csv('./sample.csv', names=('A', 'B', 'C', 'D'))
print(df_names)
# A B C D
# 0 a b c d
# 1 e f g h
# 2 i j k l
headerがあるcsvデータの場合
以下のようにheaderがあるデータも読み込むことが出来ます。
1列, 2列, 3列, 4列
a, b, c, d,
e, f, g, h,
i, j, k, l
headerがある場合はheader行を引数で指定することができます。(カウントは0始まり)
例えば、一番上の行がheaderの場合、header=0を引数として渡せばOKです。
df_header = pd.read_csv('./sample_header.csv', header=0)
print(df_header)
# 1列 2列 3列 4列
# 0 a b c d
# 1 e f g h
# 2 i j k l
なお、read_csv関数はデフォルトでheader=0になっているので
この場合は指定しなくとも動作は同じです。
ちなみに、headerとして指定した行より上の行はデータとして読み込まれず無視されます。
df_header_2 = pd.read_csv('./sample_header.csv', header=2)
print(df_header_2)
# e f g h <- ここがheader扱い
# 0 i j k l
特定の列だけを読み込む場合
read_csv関数では特定の列のみを指定して読み込むこともできます。
特定の列を読み込む場合、usecolsを引数として渡します。
以下のように読み込みたい列を番号で指定します。
df_usecols = pd.read_csv('./sample.csv', header=None, usecols=[0, 2])
print(df_usecols)
# 0 2
# 0 a c
# 1 e g
# 2 h j
また、usecolsを使えば、列名で指定することもできます。
df_usecols_names = pd.read_csv('./sample_header.csv', usecols=['A', 'C'])
print(df_usecols_names)
# A C
# 0 a c
# 1 e g
# 2 h j
read_csvでタブ区切りのデータを読み込む
read_csvではcsv(カンマ区切り)だけではなく、以下のようなタブ区切りのデータも読み込めます。
a b c d
e f g h
i j k l
タブ区切りのデータを読み込むにはsep=’\t’を引数として渡します。
df_tsv = pd.read_csv('./sample_header_index.tsv', sep='\t')
print(df_tsv)
#a b c d
#e f g h
# i j k l
Pandasのread_csvとread_excelの違い
Pandasにはread_csvによく似たread_excelという関数があります。
この2つの関数の違いは名前の通り、読むこむ対象のデータ形式にあります。
read_csvはcsvデータを、read_excelはexcelデータを読み込む際に使用します。
挙動としてはほとんど同じですが、速度はread_csvの方が高速です。
(ただし、意識するほどの差はないです)
read_execl関数を使うことでexcelデータをPythonから操作できるので使い道は多いかもしれません。
なお、read_excel関数については
「PandasでExcelファイルを読み込む【Python】」の記事で解説しています。
read_csv関数やPandasについてもっとスキルをつけるなら
今回は、Pandasのread_csv関数について解説しました。
Pandasはデータサイエンスの世界でよく使われるライブラリです。
Pandasについて基礎から実用まで学ぶためには以下の書籍がオススメです。
この書籍はPandasライブラリについて徹底解説されています。
Pandasライブラリは表計算ライブラリの使い方を理解していないと
その威力を存分に発揮できないのですがこの書籍はこの辺を上手に説明してくれています。
また、ライブラリ自体の解説だけでなく
機械学習において大事なデータクレンジングの方法など実践的な内容まで解説されています。
Pandasについて学びたい方や機械学習の精度を上げたい方にはオススメの書籍です。
エンジニアとしての自身の価値をチェックする(完全無料)
エンジニアとして、
自分の価値がどれくらいのものかご存知でしょうか?
エンジニアとしてIT業界に身を置いていると
今の会社でずっと働くのか、フリーランスとして独立するのか …
と様々な選択肢があります。
どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも
自身の価値を知っておくことはとても重要です。
TechClips ME では、
職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。
▼▼▼▼▼
▲▲▲▲▲
しかもTechClips MEでは想定年収を企業から提示してくれるので、
自身の価値を数字で分かりやすくたしかめることができます。
登録はもちろん完全無料なので、一度登録してみると良いかもしれません。
コメント