条件に基づいた DataFrame 列の値の置換
このシナリオでは、「First Season」という名前の列を持つ DataFrame があります。この列の値を変更したいと考えています。具体的には、1990 より大きい値を値 1 に置き換えます。 df.loc[(df['First Season'] > 1990)] = 1 を使用して値を選択しようとしていますが、 「First Season」列のみをターゲットにするのではなく、選択した行のすべての値を置き換えます。
条件に基づいて特定の列内の値を効果的に置き換えるには、選択基準で列を明確に指定することが重要です。 。これは、次の構文を使用して実現されます:
<code class="python">df.loc[<mask>, <optional column(s)>]</code>
あなたの場合、マスクは 1990 より大きい 'First Season' 値を持つ行を選択するために使用されます。以下のコードは望ましい結果を達成します:
<code class="python">df.loc[df['First Season'] > 1990, 'First Season'] = 1</code>
また、ブール インジケーターを作成する場合は、ブール条件を利用してブール系列を生成し、.astype() を使用して True と False の値を整数に変換することもできます。このアプローチでは、1 (True) と 0 (False) の値を持つ列が生成されます。
<code class="python">df['First Season'] = (df['First Season'] > 1990).astype(int)</code>
以上が条件に基づいて DataFrame 列の値を置換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。