PythonでCSVファイルの指定した行を削除する方法を現役エンジニアが解説【初心者向け】
初心者向けにPythonでCSVファイルの指定した行を削除する方法について現役エンジニアが解説しています。CSVはカンマ区切りのデータの集まりのことです。PythonでCSVを処理するにはPandasライブラリを使います。PythonでCSV形式のデータを簡単に扱うためのライブラリです。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
PythonでCSVファイルの指定した行を削除する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。
Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。
今回は、Pythonに関する内容だね!
どういう内容でしょうか?
PythonでCSVファイルの指定した行を削除する方法について詳しく説明していくね!
お願いします!
Pandasとは
Pandasとは、Pythonでデータを簡単に扱うためのライブラリです。
特にCSVファイルなどのファイルを扱う際によく用いられます。CSVファイルとは、Commma Separated Valueの略で、コンマで区切られたデータを表します。
この記事では説明のために以下のようなデータを例に用います。各行がテストを受けた生徒の名前、各列がテストの科目名に対応しています。
pandas_test.csv
名前,国語,社会,数学,理科,英語 A,78,80,76,56,72 B,66,91,48,88,90 C,90,84,94,81,94 D,65,73,63,52,70 E,97,62,84,80,72 F,96,91,78,92,90 G,66,72,71,78,81
Pandasで読み込んだファイルはDataframeというPandas固有のオブジェクトとしてPython上で扱うことができます。Dataframeは追加・変更・削除といった基本操作が簡単に行えます。
ところで、機械学習を実施する際に必要なデータの前処理は作業全体の8割ほどを占めています。Pandasを使えばこれらの処理が簡単にできるため、Pythonで機械学習を行う際にもPandasは必要不可欠なライブラリとなっています。PythonでCSVファイルを扱うためには、まず最初にPandasをimportする必要があります。
Pandasはimportしてからはpdという略称で用いるのが一般的です。また、CSVファイルの読み込みは、pd.read_csv()というメソッドで行います。引数にはカレントディレクトリから見たCSVファイルのパスを記載します。
このコードでは実行ファイルと同じ階層にpandas_test.csvというファイルがあることを想定しています。
import pandas as pd #CSVファイルの読み込み df = pd.read_csv("pandas_test.csv") print(df) print(type(df))
print()やtype()を使って、CSVファイルがきちんと読み込めていることや、読み込んだオブジェクトの型がDataframeであることが確認できましたね。
Pandasのdrop関数による指定行の削除方法
次にdrop関数を用いてDataframe内の指定した行を削除していきます。drop関数の第一引数には削除したい行のインデックスを、第二引数にはaxis=0を指定します。2次元データではaxis=0は行を、axis=1は列を表します。
それではコードを書いていきましょう。
df = df.drop(2, axis=0) print(df)
再度Dataframeを出力すると、指定した行が削除できているのが確認できます。ちなみに、列を削除したいときは列名を指定して以下のようにコードを書きます。
df = df.drop("数学", axis=1) print(df)
さらに数学の列が消えたことが確認できましたね。
実際に書いてみよう
最後に、Pandasを使ったCSVファイルの行削除の流れをもう一度まとめて書いていきましょう。
import pandas as pd df = pd.read_csv("pandas_test.csv") df = df.drop(2, axis=0) print(df)
まとめ
この記事ではPandasでのCSVファイルの扱い方について簡単にご説明しました。
ここでご紹介したのはPandasの機能のほんの一部です。他の様々な関数を使いこなせるようになることで、データの操作性がグッと高まります。
データサイエンスや機械学習に興味のある方は、是非Pandasの使い方についてもっと詳しく勉強してみましょう。
監修してくれたメンター
柴山真沙希(しばやままさき)
大手IT企業などでエンジニアとして2年ほど勤務した後、個人事業主としてプログラミングスクール「エンペサール」を経営。子供から大人まで幅広い層を対象にプログラミングを教えている。 得意言語はPython, HTML, CSSで、機械学習やデータ分析、スクレイピングなどが得意。サッカー観戦や読書が趣味である。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。