Pandas dataframe で特定のセルの値を設定する方法


次の基本構文を使用して、pandas DataFrame の特定のセルの値を設定できます。

 #set value at row index 0 and column 'col_name' to be 99
df. at [0, ' col_name '] = 99

次の例は、実際に次の pandas DataFrame でこの構文を使用する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

例 1: Pandas でセルの値を設定する

次のコードは、「points」列の 3 番目のインデックス位置の値を 99 に設定する方法を示しています。

 #set value in 3rd index position and 'points' column to be 99
df. at [3, ' points '] = 99

#view updated DataFrame
df

        points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 99 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

「points」列の 3 番目のインデックス位置の値が変更され、DataFrame 内の他の値はすべて同じままであることに注意してください。

例 2: Pandas で複数のセルの値を設定する

次のコードは、範囲内の複数のセルの値を同時に設定する方法を示しています。

 #set values in index positions 0 to 3 in 'points' column to be 99 
df. at [0:3, ' points '] = 99

#view updated DataFrame
df

points assists rebounds
0 99 5 11
1 99 7 8
2 99 7 10
3 99 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

例 3: Pandas で条件付きで値を設定する

次のコードは、ポイント列の値が 20 より大きい場合にのみ、 「リバウンド」列の値を 99 に設定する方法を示しています。

 #set values in 'rebounds' column to be 99 if value in points column is greater than 20
df. loc [df[' points ']>20, [' rebounds ']] = 99

#view updated DataFrame
df

points assists rebounds
0 25 5 99
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 99
6 25 9 99
7 29 4 99

ポイント列の値が 20 より大きい場合、リバウンド列の各値が 99 に変更されることに注意してください。

他のすべての値は同じままです。

追加リソース

次のチュートリアルでは、パンダで他の一般的な機能を実行する方法を説明します。

Pandas DataFrameからセル値を取得する方法
Pandas DataFrame の最初の行を取得する方法
Pandas DataFrame から最初の列を取得する方法
Pandasで列が値と一致する行のインデックスを取得する方法

コメントを追加する

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