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

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

Mary-Kate Olsen
リリース: 2024-12-18 14:06:10
オリジナル
427 人が閲覧しました

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

列の値に基づいて Pandas の DataFrame 行を削除する

問題:

line_race という名前の列を持つ Pandas DataFrame を考えます。 。タスクは、line_race 列の値が 0 に等しい行をすべて削除することです。

効率的な解決策:

特定の列の値に基づいて行を効率的に削除するには、次の手順を使用します:

  1. Pandas をインポートします。 library:

    import pandas as pd
    ログイン後にコピー
  2. 指定されたデータで DataFrame を作成します:

    data = {
        "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],
        "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],
        "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],
        "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],
        "line_date": ["2007-03-31", "2007-03-10", "2007-02-10", "2007-01-13", "2006-12-23", "2006-11-09", "2006-10-22", "2006-09-29", "2006-09-16", "2006-08-30", "2006-02-11", "2006-01-13", "2006-01-02", "2005-12-06", "2005-11-29", "2005-11-22", "2005-11-01", "2005-10-20", "2005-09-27", "2005-09-07", "2005-06-12", "2005-05-29", "2005-05-02", "2005-04-02", "2005-03-13", "2004-11-09"]
    }
    
    df = pd.DataFrame(data)
    ログイン後にコピー
  3. query() メソッドを使用して DataFrame をフィルタリングします。ブール値を使用するよりも高速ですインデックス作成:

    df_filtered = df.query("line_race != 0")
    ログイン後にコピー
  4. または、inplace パラメーターを True に設定して Drop() メソッドを使用することもできます:

    df.drop(df.index[df['line_race'] == 0], inplace=True)
    ログイン後にコピー
  5. フィルターされた DataFrameその後、元の DataFrame 変数に割り当てることも、新しい DataFrame 変数に割り当てることもできます。 variable.

更新された DataFrame には、line_race 列が 0 に等しい行は含まれなくなります。

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

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