【Python】Pandasのメソッドの紹介~データフレームの値の置き換え・設定~

Pythonの言語は、今ではEXCELでも利用できるようになっています。

EXCELでのPython利用は、基本的にはデータ分析の分野で利用することになるでしょう。
Pythonには、データ分析に役立つ「Pandas」というライブラリがあります。
これまでにも概要をまとめた記事(リンク)がありますが、「データフレーム」という形で「データ」を扱えるのが特徴です。
今回は「Pandas」の中でも、データフレームの値の置き換え・設定を行うメソッドについて、まとめようと思います。
スポンサーリンク

他の値に置き換え

「新しい行の追加・上書き(リンク)」で示した内容では、行全体を修正することになります。

しかし、既存データのうち、特定の値を別の値に変更したい場合もあるかと思います。

そんな時は、以下のメソッドで、指定した列の値でデータフレームをグループ化します。

replace( )
なお、指定したデータは「すべて置き換え」となります。

コードサンプル:

import pandas as pd

# データフレームを定義
data = {

‘名前’: [‘田中’, ‘鈴木’, ‘佐藤’, ‘山田’],
‘年齢’: [25, 30, 22, 29],
‘出身’: [‘東京’, ‘埼玉’, ‘千葉’, ‘千葉’]

}
df = pd.DataFrame(data)

# データを置き換え
replaced_df = df.replace({‘埼玉’: ‘神奈川’, ‘千葉’: ‘埼玉’})
print(‘「埼玉⇒神奈川」「千葉⇒埼玉」の置き換え’)
print(replaced_df)

実行結果:

「埼玉⇒神奈川」「千葉⇒埼玉」の置き換え
名前 年齢 出身
0 田中 25 東京
1 鈴木 30 神奈川
2 佐藤 22 埼玉
3 山田 29 埼玉

スポンサーリンク

特定の行の特定の列(特定のセル)に、値の設定

「新しい行の追加・上書き(リンク)」で示した内容では、行全体を修正することになります。

しかし、既存データのうち、特定のセルの値を変更したい場合もあるかと思います。

そんな時は、以下のメソッドで、セルを指定して値を設定します。

loc[]

コードサンプル:

import pandas as pd

# データフレームを定義
data = {

‘名前’: [‘田中’, ‘鈴木’, ‘佐藤’],
‘年齢’: [25, 30, 22]

}
df = pd.DataFrame(data)

# 新しい列「出身」を追加
df[‘出身’] = None
# 特定の行の特定の列に値を設定
df.loc[2, ‘出身’] = ‘千葉’
print(‘行「2」の「出身」列に「千葉」を設定’)
print(df)

# 特定の行の特定の列に値を上書き
df.loc[2, ‘出身’] = ‘埼玉’
print(‘\n行「2」の「出身」列を「埼玉」に上書き’)
print(df)

実行結果:

行「2」の「出身」列に「千葉」を設定
 名前 年齢 出身
0 田中 25 None
1 鈴木 30 None
2 佐藤 22 千葉

行「2」の「出身」列を「埼玉」に上書き
 名前 年齢 出身
0 田中 25 None
1 鈴木 30 None
2 佐藤 22 埼玉

また、複数行に対して、設定を行うことも可能です。

この場合は、loc[]の行指定のラベル位置に「:」を使用します。

コードサンプル:

import pandas as pd

# データフレームを定義
data = {

‘名前’: [‘田中’, ‘鈴木’, ‘佐藤’],
‘年齢’: [25, 30, 22]

}
df = pd.DataFrame(data)

# 全ての行の名前列の値を変更
df.loc[:, ‘名前’] = df[‘名前’] + ‘さん’
print(‘全ての行の名前列に、「さん」を付与’)
print(df)

実行結果:

全ての行の名前列に、「さん」を付与
名前 年齢
0 田中さん 25
1 鈴木さん 30
2 佐藤さん 22

まとめ

今回は、Pythonで扱えるライブラリの「Pandas」のメソッドについてまとめてみました。

他にも多くのメソッドが存在するため、複数の記事に渡って解説しています。

他の記事も、ぜひ参考にしてみて下さい。

スポンサーリンク