パンダ: 行の値を更新する方法


iterrowsの使用中に、次の基本構文を使用して pandas DataFrame の値を更新できます。

 for i, row in df. iterrows ():
    points_add = 10
    if row[' points '] > 15:
        points_add = 50
    df. at [i,' points '] = points_add

この特定の例では、DataFrame の各行を反復処理し、値が現在 15 より大きい場合は、ドット列の値を50に更新します。

現在の値が 15 以下の場合、値は10に更新されます。

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

例: Pandas DataFrame の値を行単位で更新する

さまざまなバスケットボール選手が獲得したポイント数を示す次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
                   ' points ': [10, 12, 14, 15, 15, 15, 16, 17, 20]})

#view DataFrame
print (df)

  player points
0 to 10
1 B 12
2 C 14
3 D 15
4 E 15
5 F 15
6 G 16
7:17 a.m.
8 I 20

次のロジックを使用してポイント列の値を更新するとします。

  • ポイントが 15 以下の場合は、値を10に更新します。
  • ポイントが 15 より大きい場合は、値を50に更新します。

iterrows関数を使用して、DataFrame の各行を反復処理し、次の更新を行うことができます。

 #iterate over each row in DataFrame and update values in points column
for i, row in df. iterrows ():
    points_add = 10
    if row[' points '] > 15:
        points_add = 50
    df. at [i,' points '] = points_add

#view updated DataFrame
print (df)

  player points
0 to 10
1 B 10
2 C 10
3 D 10
4 E 10
5 F 10
6 G 50
7:50 a.m.
8 I 50

それに応じてポイント列の値が更新されていることがわかります。

: pandas iterrows()関数の完全なドキュメントはここで見つけることができます。

追加リソース

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

パンダ: 列を移動する方法
パンダ: 2 つの値の間の行を選択する方法
Pandas: 別の DataFrame に基づいて列の値を更新します

コメントを追加する

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