首頁 >後端開發 >Python教學 >如何根據索引或條件從 Pandas 資料框中刪除行?

如何根據索引或條件從 Pandas 資料框中刪除行?

Linda Hamilton
Linda Hamilton原創
2024-11-03 10:50:29838瀏覽

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

從Pandas Dataframe 中刪除行

在Pandas 中,我們經常遇到需要從DataFrame 中刪除某些行的情況,或者用於資料清理目的或專注於特定子集。實現此目的的一種有效方法是利用 drop 函數,它允許我們根據各種條件選擇性地刪除行。

為了示範這個過程,讓我們考慮一個資料幀df:

<code class="python">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)
</code>

現在,假設我們要刪除具有某些序號的行,用列表表示,例如[1, 2, 4]。為此,我們可以使用drop 函數,如下所示:

  1. 建立一系列要刪除的索引標籤:
<code class="python">indices_to_drop = [1, 2, 4]</code>
  1. 或者,您還可以根據列條件刪除行:
<code class="python">conditions_to_drop = df['sales'] > 10
df = df[~conditions_to_drop]</code>

透過在drop 中指定索引參數,我們可以有效地刪除與提供的索引對應的行,留下所需的子集:

<code class="python">df = df.drop(index=indices_to_drop)
print(df)</code>

在這種情況下,它將產生以下資料框:

                  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

以上是如何根據索引或條件從 Pandas 資料框中刪除行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn