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で条件に基づいて列の値を置き換える方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です