ホームページ  >  記事  >  バックエンド開発  >  連鎖割り当てと loc 関数を使用して、条件値に基づいて Pandas DataFrame の特定の値を変更するにはどうすればよいですか?

連鎖割り当てと loc 関数を使用して、条件値に基づいて Pandas DataFrame の特定の値を変更するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-26 03:31:02912ブラウズ

How can I modify specific values in a Pandas DataFrame based on conditional values using chaining assignment and the loc function?

条件値に基づいてデータを変更するための代入と Pandas の Loc 関数の連鎖

Python の Pandas ライブラリでは、データ操作の処理が課題となる可能性があります。他のプログラミングツールに慣れている人。この記事では、条件に基づいて特定の値を変更するための Pandas データの反復処理に関する特定のクエリについて説明します。

問題:

当面のタスクは、FirstName という 2 つの値を変更することです。 ID 列の一致する値に基づいて DataFrame 内で LastName を取得します。具体的には、ID が 103 の場合、FirstName と LastName をそれぞれ「Matt」と「Jones」に置き換える必要があります。

解決策: 代替方法

アプローチ1: Loc

でスライスとインデックス作成を使用する Pandas で条件値に基づいてデータを変更するには、loc 関数を利用するのが効果的なアプローチの 1 つです。この関数により、論理的な評価が可能になり、指定された条件に基づいてデータが上書きされます。

<code class="python">import pandas
df = pandas.read_csv("test.csv")
df.loc[df.ID == 103, 'FirstName'] = "Matt"
df.loc[df.ID == 103, 'LastName'] = "Jones"</code>

アプローチ 2: 連鎖割り当て

代替方法は、割り当てを伴う連鎖割り当てです。条件に基づいて、データフレーム内の特定の要素に値を追加します。この方法は不安定になる可能性があるため推奨されませんが、理解するには依然として役立ちます:

<code class="python">import pandas
df = pandas.read_csv("test.csv")
df['FirstName'][df.ID == 103] = "Matt"
df['LastName'][df.ID == 103] = "Jones"</code>

以上が連鎖割り当てと loc 関数を使用して、条件値に基づいて Pandas DataFrame の特定の値を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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