理系の社会人の方や学生の方は
仕事や研究で、データを取り扱っているとcsvファイルの整理をすることも多々あるかと思います。
そんな時に使用することをおすすめしたいのが、pandasというライブラリです。
Pythonのデータ分析ライブラリであるpandasは、csvファイルの読み込み、編集、保存などの操作を簡単に行うための強力なツールです。
この記事では、pandasを使用してcsvファイル読み込み、編集した後に上書き保存する方法について説明します。
今回のお題
origin.csvというファイルを用意して、中のデータは以下の写真のようにしました。
このcsvファイルから
ヘッダー(1番上の行)がb~cの列を削除して上書きするコードを書いていきます。
コード
インストール
pandasを使用するためには、まずpandasをインストールし、Pythonスクリプト内でインポートする必要があります。
以下のコマンドを使用して、pandasをインストールします。
pip install pandas
csvの読み込み
まず、 csvファイルをpandasのデータフレームとして読み込みます。pandasのread_csv()
メソッドを使用して、csvファイルを読み込むことができます。
以下は、基本的なコードです。
import pandas as pd
#読み込み
df = pd.read_csv("origin.csv")
origin.csv
は読み込むCSVファイルのパスです。データフレームはdf
という変数に格納されます。
データの編集
データフレームを編集して必要な変更を加えます。
col_deleted = df.drop(df.columns[1:3], axis="columns")
列の範囲削除では
df.drop(df.columns[削除したい最初の行:削除したい最後の行+1], axis=”columns”)
と記述します。
Pythonではよくpandasに限らず、範囲指定の際に最後の数字は+1するのが慣例になってますね。
上書き保存
編集が完了したら、pandasを使用して編集済みのデータフレームをcsvファイルに上書き保存します。to_csv()
メソッドを使用することで、データフレームをcsvファイルに保存することができます。
以下は、上書き保存するための基本的なコードです。
col_deleted.to_csv("origin.csv", index=False)
origin.csvは保存するcsvファイルのパスです。
読み込むcsvと同じ名前にすることで上書き保存できます。index=False
は、インデックスをCSVファイルに保存しないことを意味します。インデックスを保存したい場合は、index=True
に設定します。
コードをひとまとめにするとこんな感じです。
import pandas as pd
def main():
df = pd.read_csv("origin.csv")
col_deleted = df.drop(df.columns[1:3], axis="columns")
col_deleted.to_csv("origin.csv", index=False)
if __name__ == "__main__":
main()
おわりに
以上が、pandasを使用してCSVファイルを上書き保存する方法の概要です。
非常に柔軟なライブラリなので、データの編集や保存に便利な機能が数多くあります。
自分は社会人になってからpnadasを使い始めたのですが(学生時代はnumpyばっかり)
pandasをかなり使うようになりました。
それだけ取り組む課題(仕事)の幅も広がったということですが。
最近は、yfinance, pandas, 便利な画像系ディープラーニングの手法を探すのにハマつつあります。
幅広い分野のデータを手軽に楽しめるのがPythonのいいところですよね。
おすすめのPythonの勉強方法はUdemyを使った勉強です。
自分のPCへの環境構築から教えてくれたり、どうしたらプログラミングしやすくなるかまで
教えてくれるのでおすすめです。
ここまで読んでいただき、ありがとうございました。
七夕も終わり、梅雨明けもあと少しですね。
ここからどんどん暑くなり、工場は地獄のような環境になりますが
体調に気をつけて頑張っていきましょう。
それでは。