ホームページ  >  記事  >  バックエンド開発  >  特定の基準に基づいて Pandas DataFrame の特定の値を変更するにはどうすればよいですか?

特定の基準に基づいて Pandas DataFrame の特定の値を変更するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-26 11:07:03191ブラウズ

How can I modify specific values in a Pandas DataFrame based on certain criteria?

Pandas の特定の基準に基づいて値を変更する

Pandas DataFrame を反復処理する場合、多くの場合、一致基準に基づいて特定の値を変更する必要があります。 。 Pandas でこれを実現するには、そのインデックス作成機能とフィルタリング機能を活用できます。

問題を理解する

目標は、DataFrame の "ID" 列を反復処理することです。特定の ID が見つかった場合は、それに応じて「FirstName」列と「LastName」列を変更します。 Stata では、これは次の方法を使用して実現できます。

replace FirstName = "Matt" if ID==103
replace LastName = "Jones" if ID==103

Pandas の実装

Pandas でこのロジックを実装するには、次のアプローチを使用できます。

import pandas as pd

df = pd.read_csv("test.csv")

# Using logical indexing and overwrite assignment
df.loc[df.ID == 103, 'FirstName'] = "Matt"
df.loc[df.ID == 103, 'LastName'] = "Jones"

このコードは、条件 ID == 103 に基づいて DataFrame をスライスして、その ID を持つ行を選択し、「FirstName」列と「LastName」列の値を目的の値で上書きします。

連鎖代入

別の方法は、あまり推奨されませんが、連鎖代入です。

df['FirstName'][df.ID == 103] = "Matt"
df['LastName'][df.ID == 103] = "Jones"

このアプローチもフィルター条件に基づいて値を変更しますが、推奨されません。新しい Pandas バージョンでは予期せぬ動作が発生する可能性があるためです。

結論

適切なインデックス作成と上書き割り当て手法を利用することで、Pandas は特定の値をベースに効率的に変更できるようになります。一致基準に基づいて、他の統計ソフトウェアで可能なものと同様の複雑なデータ操作を可能にします。

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

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