ホームページ > バックエンド開発 > Python チュートリアル > Pandas の列値に基づいて DataFrame 行を効率的に削除する方法

Pandas の列値に基づいて DataFrame 行を効率的に削除する方法

Linda Hamilton
リリース: 2024-12-29 22:08:16
オリジナル
487 人が閲覧しました

How to Efficiently Delete DataFrame Rows Based on Column Value in Pandas?

列の値に基づいて DataFrame 行を効率的に削除する

Pandas では、特定の列の値に基づいて行を削除することは、いくつかの方法で実現できます。最も効率的なアプローチの 1 つは、論理インデックスを使用することです。

次の DataFrame について考えます。

df = pd.DataFrame({
    "daysago": [62, 83, 111, 139, 160, 204, 222, 245, 258, 275, 475, 504, 515, 542, 549, 556, 577, 589, 612, 632, 719, 733, 760, 790, 810, 934],
    "line_race": [11, 11, 9, 10, 10, 9, 8, 9, 11, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    "rating": [56, 67, 66, 83, 88, 52, 66, 70, 68, 72, 65, 70, 64, 70, 70, -1, -1, -1, -1, -1, 69, -1, -1, -1, -1, -1],
    "rw": [1.000000, 1.000000, 1.000000, 0.880678, 0.793033, 0.636655, 0.581946, 0.518825, 0.486226, 0.446667, 0.164591, 0.142409, 0.134800, 0.117803, 0.113758, 0.109852, 0.098919, 0.093168, 0.083063, 0.075171, 0.048690, 0.045404, 0.039679, 0.034160, 0.030915, 0.016647],
    "wrating": [56.000000, 67.000000, 66.000000, 73.096278, 69.786942, 33.106077, 38.408408, 36.317752, 33.063381, 32.160051, 10.698423, 9.968634, 8.627219, 8.246238, 7.963072, -0.109852, -0.098919, -0.093168, -0.083063, -0.075171, 3.359623, -0.045404, -0.039679, -0.034160, -0.030915, -0.016647]
})
ログイン後にコピー

line_race 列が 0 に等しい行を削除するには、次のコードを使用できます。コード行:

df = df[df["line_race"] != 0]
ログイン後にコピー

この式は、line_race 列に含まれていない行のみを含む新しい DataFrame を作成します。値は 0 です。論理インデックスを使用すると、データのコピーの作成が回避されます。これにより、大規模なデータセットを操作する場合のパフォーマンスが大幅に向上します。

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

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