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:
df.loc[df['First Season'] > 1990, 'First Season'] = 1この対象を絞ったアプローチにより、条件を満たす「ファースト シーズン」列の値のみが 1 に置き換えられ、他の列は影響を受けません。 チームのファースト シーズン合計ゲーム数 0 ダラスカウボーイズ 1960 894 1 シカゴ・ベアーズ 1920 1357 2 グリーンベイ・パッカーズ 1921 1339 3 マイアミ・ドルフィンズ 1966 792 4 ボルチモア・レイブンズ 1 326 5 San Franciso 49ers 1950 1003
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)
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このアプローチにより、更新された値を持つ DataFrame が生成されます: チームのファーストシーズン合計ゲーム数 0 ダラスカウボーイズ 0 894 1 シカゴ・ベアーズ 0 1357 2 グリーンベイ・パッカーズ 0 1339 3 マイアミ・ドルフィンズ 0 792 4 ボルチモア・レイブンズ 1 326 5 サンフランシスコ 49ers 0 1003
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3