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で列や行の追加・削除・項目名変更する方法を説明してきました。

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

 

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

よく読まれている記事

insta-auto-post 1

  インスタって自動で投稿できないのかな。いつもスマホで投稿するの大変だし・・ Pythonを使えば、インスタで自動で投稿できるよ!!特別に紹介するね ...

python-consult_1 2

  AI・機械学習、データサイエンティスト、、やっぱりこれからの時代Pythonは勉強すべきだよね!   その通り。Pythonは今後も伸び ...

【保存版】PythonでできるExcel操作のまとめ一覧 3

  Excelで作業するのって大変だな〜 なにか楽な方法ないかな〜   Excelの集計や単純作業は、Pythonで楽にできるよ!!この一覧 ...

python-works 4

ここでは、サイト管理者のいなサラがこれまでPythonで作ったものをご紹介します。 以下のリンクで、実際の作り方やソースコードを公開しているので、ぜひ参考にして ...

-Python × Excel

© 2021 inasala note