ホームページ  >  記事  >  バックエンド開発  >  別の列の一致する値に基づいて Pandas DataFrame 列の値を置換する方法

別の列の一致する値に基づいて Pandas DataFrame 列の値を置換する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-01 06:04:31276ブラウズ

How to Replace Values in Pandas DataFrame Columns Based on Matching Values in Another Column?

一致する値に基づいて 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。