Pythonの言語は、今ではEXCELでも利用できるようになっています。
他の値に置き換え
「新しい行の追加・上書き(リンク)」で示した内容では、行全体を修正することになります。
しかし、既存データのうち、特定の値を別の値に変更したい場合もあるかと思います。
そんな時は、以下のメソッドで、指定した列の値でデータフレームをグループ化します。
コードサンプル:
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 埼玉
特定の行の特定の列(特定のセル)に、値の設定
「新しい行の追加・上書き(リンク)」で示した内容では、行全体を修正することになります。
しかし、既存データのうち、特定のセルの値を変更したい場合もあるかと思います。
そんな時は、以下のメソッドで、セルを指定して値を設定します。
コードサンプル:
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」のメソッドについてまとめてみました。
他にも多くのメソッドが存在するため、複数の記事に渡って解説しています。
他の記事も、ぜひ参考にしてみて下さい。