一致する値に基づいて Pandas のデータを変更する
データ操作のために Stata から Pandas に移行する場合、以下に基づいて値を変更するアプローチを理解する条件の一致が不可欠です。 「ID」列の対応する値が特定の数値と一致する場合に、列「FirstName」と「LastName」の特定の値を置き換える状況を考えてみましょう。
Stata では、このタスクは次のようなコマンドを使用して簡単に行うことができます。 「ID==103 の場合は、FirstName = 'Matt' を置き換えます。」 Pandas で同様の結果を達成するには、loc または連鎖割り当てメソッドを利用できます。
loc メソッド:
loc メソッドは、論理インデックスを使用してデータを評価および変更します。特定の条件に基づく:
<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>
連鎖割り当て:
新しい Pandas バージョンでは推奨されていませんが、連鎖割り当てもこのタスクに使用できます:
<code class="python">import pandas as pd df = pd.read_csv("test.csv") df['FirstName'][df.ID == 103] = "Matt" df['LastName'][df.ID == 103] = "Jones"</code>
どちらのメソッドでも、式「df.ID == 103」はブール マスクを作成します。True は ID が 103 に等しい行を示します。その後の代入により、「FirstName」と「LastName」の соответствующий 値が変更されます。 " columns.
注: 古いバージョンの Pandas では、連鎖代入が許容されるアプローチです。ただし、より安定性が高いため、最新のバージョンでは loc が推奨される方法です。
以上が別の列の一致する値に基づいて Pandas DataFrame 列の値を置換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。