Pandas: 列内の複数の値を置換する方法
次の基本構文を使用して、pandas DataFrame の列内の複数の値を置き換えることができます。
df = df. replace ({' my_column ': {' old1 ': ' new1 ', ' old2 ': ' new2 ', ' old3 ': ' new3 '}})
次の例は、この構文を実際に使用する方法を示しています。
例: Pandas の列内の複数の値を置換する
さまざまなバスケットボール選手に関する情報を含む次のパンダ データフレームがあるとします。
import pandas as pd #createDataFrame df = pd. DataFrame ({' position ': ['G', 'G', 'F', 'F', 'F', 'C', 'C'], ' points ': [28, 17, 19, 14, 23, 26, 5], ' rebounds ': [5, 6, 4, 7, 14, 12, 9], ' assists ': [10, 13, 7, 8, 4, 5, 8]}) #view DataFrame print (df) position points rebound assists 0 G 28 5 10 1 G 17 6 13 2 F 19 4 7 3 F 14 7 8 4 F 23 14 4 5 C 26 12 5 6 C 5 9 8
位置列で次の置換を行うとします。
- 「G」を「ガード」に置き換えます
- 「F」を「進む」に変更します
- C を「中央」に置き換えます。
これを行うには、次の構文を使用できます。
#replace multiple values in position column df = df. replace ({' position ': {' G ': ' Guard ', ' F ': ' Forward ', ' C ': ' Center '}}) #view updated DataFrame print (df) position points rebound assists 0 Guard 28 5 10 1 Guard 17 6 13 2 Forward 19 4 7 3 Forward 14 7 8 4 Forward 23 14 4 5 Center 26 12 5 6 Center 5 9 8
「位置」列のいくつかの値が置き換えられていることに注意してください。
同様の構文を使用して、数値列内の複数の値を置き換えることができます。
たとえば、次のコードは、ヘルプ列で次の置換を行う方法を示しています。
- 10 を 20 に置き換えます
- 13 を 15 に置き換えます
- 8 を 10 に置き換えます
これを行うには、次の構文を使用できます。
#replace multiple values in assists column df = df. replace ({' assists ': {10:20, 13:15, 8:10}}) #view updated DataFrame print (df) position points rebound assists 0 G 28 5 20 1 G 17 6 15 2 F 19 4 7 3 F 14 7 10 4 F 23 14 4 5 C 26 12 5 6 C 5 9 10
「Assists」列のいくつかの値が置き換えられていることに注意してください。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
Pandas で NaN 値をゼロに置き換える方法
Pandas で空の文字列を NaN に置き換える方法
Pandasで条件に基づいて列の値を置き換える方法