めもめも

データエンジニアリング、機械学習について書いてます

pandas のdataframe で列名・値を置換

内容

pandasで作ったデータフレームの列名・レコードの値を置換する操作です。 列名は、renameメソッドを使います。 レコードの値は、replaceメソッドを使います。

事前準備

環境はjupyter notebookを使用しました。 まずは、データフレームを作ります。

import pandas as pd

df = pd.DataFrame({"フルーツ":("みかん", "りんご","ぶどう"),"産地":("愛媛","青森","山梨")})

df.head()
フルーツ 産地
0 みかん 愛媛
1 りんご 青森
2 ぶどう 山梨

列名の変更

renameメソッドの引数にcolumnsを渡します。 inplace=Trueにすることで同じデータフレームが保持されます。

df.rename(columns = {"フルーツ":"Fruits"}, inplace = True)
df.head()
Fruits 産地
0 みかん 愛媛
1 りんご 青森
2 ぶどう 山梨

レコードの値変更

replaceメソッドを使います。

df["Fruits"].replace("みかん", "Orange", inplace = True)
df.head()
Fruits 産地
0 Orange 愛媛
1 りんご 青森
2 ぶどう 山梨

複数の値を一度に置換することもできます。

df["産地"].replace({"愛媛":"Ehime", "青森":"Aomori", "山梨":"Yamanashi"}, inplace = True)
df.head()
Fruits 産地
0 Orange Ehime
1 りんご Aomori
2 ぶどう Yamanashi