Pandas の条件に基づいて値を変更する
この質問は、FirstName と LastName の 2 つの列の特定の値を変更する必要がある状況を示しています。特定の値に一致する ID 列の条件に基づいて変更されます。 Stata では、これは単純な置換コマンドを使用して実現できます。
データ操作用の強力な Python ライブラリである Pandas では、インデックス機能で loc 関数を活用することが 1 つのアプローチです。これにより、論理評価とその後のデータ変更が可能になります。例:
<code class="python">import pandas as pd df = pd.read_csv("test.csv") df.loc[df.ID == 103, 'FirstName'] = "Matt" df.loc[df.ID == 103, 'LastName'] = "Jones"</code>
または、両方の列への割り当てを 1 つのステップで実行できます:
<code class="python">df.loc[df.ID == 103, ['FirstName', 'LastName']] = 'Matt', 'Jones'</code>
loc 上書き割り当て操作には Pandas バージョン 0.11 以降が必要であることに注意してください。古いバージョンの場合、連鎖割り当ては実行可能な解決策です。
<code class="python">df['FirstName'][df.ID == 103] = "Matt" df['LastName'][df.ID == 103] = "Jones"</code>
最新の Pandas バージョンでは通常、連鎖割り当ては避けるべきですが、古いバージョンとの互換性のために知っておくと便利な手法です。
以上が条件に基づいて Pandas DataFrame 列の特定の値を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。