Python × Excel

Python(Pandas)で列や行の追加・削除・項目名変更する方法

2020-10-19

本記事では、Python(Pandas)で列や行の追加・削除・項目名変更する方法をご紹介します。

Pythonの実行環境

今回は、以下の実行環境でプログラムを実行しています。

・Python 3.7.6
・Jupyterlab 1.2.6
・Pandas:1.1.2

本記事で利用するライブラリはPandasとNumPyです。
※NumPyはテストデータ作成時のみ利用

import pandas as pd
import numpy as np

 

テストデータは、次の通り作成します。

df = pd.DataFrame(np.arange(16).reshape(4, 4))

 

テストデータ_行-列

 

 

Python(Pandas)で列や行の追加を行う方法

列の追加は、df[ ]新しい列を定義し、列の要素を設定します。

列の要素は、値やリストを代入します。

df['列追加'] = 1

 

列の値がすべて1の「列追加」列が追加されます。

列追加

 

行の追加は、loc[ ]を使います。[ ]の中に新しい行を設定します。

今度は、代入する値として0から4の要素を持つリストを設定します。

df.loc['行追加'] = np.arange(5)

 

ちゃんと「行追加」行が追加され、0から4の値になっています。

python 行追加

 

このように、df[ ]やloc[ ]を使って、値またはリストを代入させる形で列や行で追加できます。

 

Python(Pandas)で列や行の項目名を変更する方法

列や行の項目名の変更は、rename()を使います。

引数に、columnsとして、辞書型で変更前と変更後の項目名を指定します。

列の項目名の変更は次の通りとなります。

df = df.rename(columns={0 : '列名変更0', 1 : '列名変更1'})

 

列名変更

列名が0, 1だったのが、「列名変更0」と「列名変更1」に変更されています。

次に、行の列の項目名の変更は、列のcolumnsindexに変更して行います。

df = df.rename(index={0:'行名変更1', '行追加':'行名変更2'})

このように変更前の行項目が数値・文字列を問わず変更できます。

行名変更

 

Python(Pandas)で列や行を削除する方法

最後に、列や行を削除する方法をご紹介します。

列や行の削除は、drop()を使います。

引数としては、列の場合は削除するリストで列名を指定し(複数可)、axis=1とします。

行の場合は、削除する行名をリストで指定し(複数可)、デフォルトでaxis=0となるため、設定しなくても大丈夫です。

df = df.drop(['列名変更0', 2], axis=1)
df.drop([2, '行名変更2'])

上の処理を行うと、このように列や行が削除されます。

行・列削除

 

 

以上、Pythonで列や行の追加・削除・項目名変更する方法を説明してきました。

今回の内容は基本的な部分ですが、ついつい忘れがちになるので、ぜひその都度立ち返って、定着させていきましょう。

 

最後まで読んでいただき、ありがとうございました。

よく読まれている記事

se-shikaku 1

  社内SEになるには資格って必要?社内SEでキャリアップするときにおすすめの資格は? 回答としては、 社内SEは、対人スキル、実務での対応力や最新情 ...

社内SEの仕事内容 2

  社内SEってどんな仕事なんだろ~ 検索しても転職サイトの記事ばかりでよく分からない・・   確かにそうですね。。実経験を基に、社内SE( ...

side-work-trial 3

  コロナで会社の経営も不安。。個人でお金稼ぎたいな~ 今、こう考えるサラリーマン、OLの方はごまんといると思います。   僕は、本業では社 ...

adsense-pass 4

【3記事で一発合格】Google AdSense申請に合格したブログ情報 こんにちは、いなサラ(@いなサラ|田舎の情シスサラリーマン)です。 2019年10月5 ...

-Python × Excel

© 2020 inasala note