Pandas DataFrame: 条件に基づいたターゲット値の置換
Pandas では、多くの場合、特定の基準に基づいて DataFrame 内の特定の値を変更する必要があります。 。一般的なアプローチは loc を使用して行を選択することですが、値の変更の対象として特定の列を正確にターゲットにする方法を理解することが重要です。
「最初のシーズン」の値を置換する次のデータフレームを考えてみましょう。 1990 を超える列 (整数 1:
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1996 326 5 San Franciso 49ers 1950 1003
) loc 関数のみを使用した最初の試行では、対象の列のみではなく、選択した行のすべての値が置き換えられました。これを修正するには、loc の 2 番目の引数として「First Season」列を明示的に指定する必要があります:
df.loc[df['First Season'] > 1990, 'First Season'] = 1
この対象を絞ったアプローチにより、「First Season」列の値のみが条件を満たすことが保証されます。 1 に置き換えられ、他の列は影響を受けません。
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 1950 1003
または、目的の結果がブール指標である場合は、条件を使用してブール系列を作成し、それを整数 (True と False) に変換できます。それぞれ 1 と 0 に変換します:
df['First Season'] = (df['First Season'] > 1990).astype(int)
このアプローチでは、更新された値を持つ DataFrame が生成されます:
Team First Season Total Games 0 Dallas Cowboys 0 894 1 Chicago Bears 0 1357 2 Green Bay Packers 0 1339 3 Miami Dolphins 0 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 0 1003
以上が条件に基づいて Pandas DataFrame 列の特定の値を置き換える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。