ホームページ > バックエンド開発 > Python チュートリアル > 条件付きしきい値に基づいて Pandas DataFrame の値を効率的に置き換える方法

条件付きしきい値に基づいて Pandas DataFrame の値を効率的に置き換える方法

DDD
リリース: 2024-12-15 07:28:12
オリジナル
743 人が閲覧しました

How to Efficiently Replace Values in Pandas DataFrames Based on Conditional Thresholds?

Pandas での条件付き値の置換

Pandas で DataFrame を操作する場合、多くの場合、特定の条件に基づいて値を選択的に変更する必要があります。一般的なタスクの 1 つは、特定のしきい値を超える特定の列の値を置き換えることです。

df[df.my_channel >] を使用した以前の試み。 20000].my_channel = 0 構文は、元のデータフレームの一部である場合には失敗することが判明しました。これは、.ix インデクサーが非推奨となった Pandas 0.20.0 で導入されたインデックス作成の変更が原因です。

これを修正するには、行と列にアクセスして変更するための代替方法を提供する .loc インデクサーを利用できます。条件に基づきます。

mask = df.my_channel > 20000
column_name = 'my_channel'
df.loc[mask, column_name] = 0
ログイン後にコピー

このコードは、最初にブール マスク (マスク) を作成することにより、目的の結果を達成します。各値は、df.my_channel 列の対応する値が 20000 を超えるかどうかに対応します。次に、.loc を使用して、マスクが True を保持する行を選択し、column_name 列に値 0 を割り当てます。

代わりにでは、次の 1 行のコード スニペットを使用できます:

df.loc[df.my_channel > 20000, 'my_channel'] = 0
ログイン後にコピー

この場合、.iloc の代わりに .loc を使用することが重要です。 (整数位置ベースのインデックス作成) NotImplementedError.

を回避します。

以上が条件付きしきい値に基づいて Pandas DataFrame の値を効率的に置き換える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート