「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > インデックスまたは条件に基づいて Pandas データフレームから行を削除するにはどうすればよいですか?

インデックスまたは条件に基づいて Pandas データフレームから行を削除するにはどうすればよいですか?

2024 年 11 月 3 日に公開
ブラウズ:378

How to Drop Rows from a Pandas Dataframe Based on Index or Conditions?

Pandas データフレームからの行の削除

Pandas では、データ クリーニングのため、データフレームから特定の行を削除する必要があることがよくあります。目的を特定したり、特定のサブセットに焦点を当てたりすることができます。これを達成する効率的な方法の 1 つは、ドロップ関数を利用することです。これにより、さまざまな基準に基づいて行を選択的に削除できます。

プロセスを示すために、データフレーム df:

import pandas as pd

df = pd.DataFrame({'sales': [2.709, 6.590, 10.103, 15.915, 3.196, 7.907],
                   'discount': [None, None, None, None, None, None],
                   'net_sales': [2.709, 6.590, 10.103, 15.915, 3.196, 7.907],
                   'cogs': [2.245, 5.291, 7.981, 12.686, 2.710, 6.459]})

print(df)

次に、[1, 2, 4] などのリストで表される特定のシーケンス番号を持つ行を削除するとします。これを行うには、次のようにドロップ関数を使用します:

  1. 削除する一連のインデックス ラベルを作成します:
indices_to_drop = [1, 2, 4]
  1. または、列に基づいて行を削除することもできます条件:
conditions_to_drop = df['sales'] > 10
df = df[~conditions_to_drop]

drop でインデックス パラメーターを指定すると、指定されたインデックスに対応する行を効果的に削除して、目的のサブセットを残すことができます:

df = df.drop(index=indices_to_drop)
print(df)

この場合、次のデータフレームになります:

                  sales  discount  net_sales    cogs
STK_ID RPT_Date                                     
600141 20060331   2.709       NaN      2.709   2.245
       20061231  15.915       NaN     15.915  12.686
       20070630   7.907       NaN      7.907   6.459
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3