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で列が値と一致する行のインデックスを取得する方法