Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Pandas Python

Pythonでcsvのカラム名を変更する方法(Pandasのread_csvで読み込んだcsvのカラム名変更)

投稿日:2020年11月10日 更新日:

<目次>

(1) Pythonでcsvのカラム名を変更する方法
 (1-1) 構文①
 (1-2) サンプルプログラム①
 (1-3) 構文②
 (1-4) サンプルプログラム②

PythonのPandasライブラリを用いてcsvを読み込んで

(1) Pythonでcsvのカラム名を変更する方法

(1-1) 構文①

(構文)

[DataFrame型].columns = [[ループ変数].replace('[置換元]','[置換先]') for [ループ変数] in [DataFrame型].columns]

 (構文説明) 

①[DataFrame型]について
[DataFrame型]は[Pandasライブラリ].read_csvの結果から作られます。

import pandas as pd
df = pd.read_csv(r"C:\Users\Rainbow\Desktop\tennis_ranking_20201023.csv",delimiter="~")

(図111)read_csvの結果を代入したdfの型(Type出力結果)

②[DataFrame型]のcolumn属性
[DataFrame型]のcolumn属性には、読み込んだcsvのカラムがlist形式で格納されています。

(図112)読み込んだcsvのカラムはcolumns属性にlist形式で格納されている

③『[ループ変数].replace(‘[置換元]’,'[置換先]’)』
上記部分で、カラムの置換処理を実施しています。

④『[ [置換処理] for [ループ変数] in [DataFrame型].columns]』
上記部分で、columnsのlistを順番にループして、各カラムに対して[置換処理]を実行するという動きになります。

目次にもどる

(1-2) サンプルプログラム①

(サンプルプログラム)

import pandas as pd

def main():
    # csvファイルの読み込み
    #   第一引数=ファイルパス
    #   第二引数=encoding=エンコーディング方式
    df = pd.read_csv(r"C:\Users\Rainbow\Desktop\tennis_ranking_20201023.csv",delimiter="~")

    # 変更前のカラムリストを表示
    print("Before Column\t"+str(df.columns))

    # カラム名の変更処理
    df.columns = [col.replace('Player','PlayerName') for col in df.columns]

    # 変更後
    print("After Column\t"+str(df.columns))

if __name__ == '__main__':
    main()

(図121)

目次にもどる

(1-3) 構文②

(構文)

[DataFrame型].rename(columns={'[置換前の文字列(Before)]':'[置換後の文字列(After)]', inplace=True}

(構文説明)
①renameメソッドについて
DataFrameクラスのrenameメソッドを使います。1つ目のオプションである「columns」が置換の役割を担当しており、置換前後の文字列を与えます。

②Inplace=Trueについて
Inplace=Trueを指定する事で、元の[DataFrame型]を上書きする動きになります。もしInplace=Trueを使用しない場合は、結果を新しいDataFrameにコピーする必要があります。

目次にもどる

(1-4) サンプルプログラム②

(サンプルプログラム)

import pandas as pd

def main():
    # csvファイルの読み込み
    #   第一引数=ファイルパス
    #   第二引数=encoding=エンコーディング方式
    df = pd.read_csv(r"C:\Users\Rainbow\Desktop\tennis_ranking_20201023.csv",delimiter="~")

    # 変更前のカラムリストを表示
    print("Before Column\t"+str(df.columns))

    # カラム名の変更処理
    #    columnsオプションで指定した文言の通りに置換を行い
    #    結果を元のDataFrameに更新する
    df.rename(columns={'Move':'MoveRank'}, inplace=True)

    # 変更後のカラムリストを表示
    print("After Column\t"+str(df.columns))

if __name__ == '__main__':
    main()

(図131)

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Pandas, Python

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

PythonのSQLAlchemyで「Identifier ‘XXX’ exceeds maximum length of 30 characters」エラーや「DtypeWarning: Columns (X) have mixed types.」警告が出た時の対処について

(0)目次&概説 (1) エラー1:sqlalchemy.exc.ArgumentError  (1-1) 発生状況・エラーメッセージ   (1-1-1) エラーメッセージ   (1-1-2) エラー …

no image

PythonでJSON形式データの値を取得する手順について

  <目次> (1) PythonでJSON形式データの値を取得する手順について  (1-1) サンプル①:ローカルのJSONファイルの読み込み(単純構造)  (1-2) サンプル②:ローカ …

「pyenv」の導入後も「System Python」が有効になってしまう事象の原因と対処について

  <目次> (1) 「pyenv」の導入後も「System Python」が有効になってしまう事象の原因と対処について  (1-1) 問題点の整理  (1-2) 原因&対策(1つ目)  ( …

PythonのdatapackageとSQLAlchemy、SQLiteを使ってcsvデータをSELECTする

(0)目次&概説 (1) 今回の目的  (1-1) 目的  (1-2) 前提条件 (2) 実施手順  (2-0) 事前作業  (2-1) データ(csv)のロード  (2-2) エンジンの作成  (2 …

Pythonのdatapackage学習中に遭遇したエラー「StopIteration」と「AttributeError」の対応

(0)目次&概説 (1) 記事の目的 (2) エラー1:AttributeError: ‘generator’ object has no attribute ‘n …

  • English (United States)
  • 日本語
Top