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 サイトの他の関連記事を参照してください。