Pythonのpandasを利用してcsvファイルを操作する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonのpandasを利用してcsvファイルを操作する方法について現役エンジニアが解説しています。pandasとは、データ解析を支援する機能を提供するPythonライブラリです。CSV形式とはカンマ区切りになっているデータのことです。CSVファイルを読み込んだり、書き込んでみましょう。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

監修してくれたメンター

清水 源一郎

企業勤務の研究者として、機械学習やデータサイエンスを活用した製品開発を行っている。
テックアカデミーでは、Pythonコース、AIコース、データサイエンスコースを担当。

Pythonのpandasを利用してcsvファイルを操作する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

目次

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのpandasを利用してcsvファイルを操作する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

1. pandasモジュールとは?

pandasは、データ解析を支援する機能を提供するPythonライブラリです。

効率的な二次元データ操作のためのDataFrameという形式のオブジェクトを使って、データを整形したり、集計・結合させたりすることができるライブラリになっています。

pandasの機能としてcsvのデータを読み書きする機能も提供されています。

今回は数多く存在するpandasの機能の中からcsvを操作する方法を紹介していきます。

2. pandasモジュールの使い方

2-1. ライブラリのインストール

pipでインストールできますので、以下の1行を実行します。

pip install pandas

2-2. pandasにおけるDataFrame形式

pandasでcsvを読みこむ場合、DataFrame形式に変換して扱います。

pandasでcsvを操作する前にDataFrame形式について説明します。

DataFrameオブジェクトは、下の図のように、複数の行と列から成る表形式のデータです。

列名と、行名(インデックス)の情報と、中身であるデータの情報を持っています。

列名や行名を使って特定のデータを抽出したり、集計したりすることができるため、pythonで表形式のデータを扱う際に非常に有用です。

2-3. csvの読み込み

インストールできたらPython上では以下のようにライブラリをインポートします。

import pandas as pd

csvを読み込む際には以下のように記述します。

df = pd.read_csv("ファイル名")

オンライン上にあるcsvデータを参照する場合はそのcsvのリンクを引数に指定しても参照できます。

上記のコードによって、csvデータの内容からpandasで処理可能なDataFrameオブジェクトが作成されます。

ただし、そのまま読み込むとcsvの1行目が列名として扱われます。

使用するデータに列名がない場合は、以下のように引数にheader=Noneとして列名のない設定にすれば、列名の代わりに自動的に0始まりの列番号を各列に割り振ることができます。

df = pd.read_csv('data/src/sample.csv', header=None)

 

2-4. csvの書き込み

次にDataFrameをcsvとして書き込む方法です。

書き込みたいDataFrameに対して、以下のコードでcsvを書き込みできます。

df.to_csv("ファイル名")

[PR] Pythonで挫折しない学習方法を動画で公開中

pandasモジュールを利用してcsvファイルを操作してみよう

それでは、実際にcsvファイルを操作してみましょう。

今回は以下のcsvを使用します。

テキストエディタに以下の文字列を保存してください。

ファイル名はsample.csvとします。

name, age
Taro, 24
Ken, 21
Ichiro, 32

データの準備ができたら、以下のコードを実行してみてください。

import pandas as pd
df = pd.read_csv("sample.csv")
df["work"] = ["Engineer", "Student", "Baseball Player"]
df.to_csv("out.csv")

df = pd.read_csv("sample.csv")でsamlpe.csvを読みこみ, DataFrame型に変換し変数dfに格納しています。

df["work"] = ["Engineer", "Student", "Baseball Player"]で、DataFrameに新しい列workを追加し、値を入れています。

df.to_csv("out.csv")でwork列が追加されたDataFrameをout.csvという名前で出力しています。

出力されたout.csvを確認すると、以下のようにwork列が追加されたcsvが出力されます。

,name, age,work
0,Taro,24,Engineer
1,Ken,21,Student
2,Ichiro,32,Baseball Player

 

まとめ

今回はpandasでcsvを取り扱う方法について紹介しました。

標準ライブラリを使うよりも簡単にcsvを読み込むことができ、csv形式のデータ解析を行う際には大変便利な機能なのでおすすめです。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

Pythonを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

プログラミングを学習していて、このように思ったことはありませんか?

テックアカデミーのPythonコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、人工知能(AI)や機械学習の基礎を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!