簡體   English   中英

如何按列表刪除 dataframe 中的多行?

[英]How can I drop multiple rows in my dataframe by list?

我想根據值列表刪除一堆行。 具體來說,我有一個棒球運動員從 1999 年到 2021 年的統計數據列表。如果一名球員在 1999 年打球,我想刪除他們的所有行。 例如,如果他們在 1999 年、2000 年和 2001 年參加比賽,我想刪除所有這三行。

在此處輸入圖像描述

我使用產生 dataframe 的 df[df['Season'].isin([1999])]['Name'] 識別玩家列表(如果需要,可以將其轉換為列表)。

在此處輸入圖像描述

我現在如何獲取我原來的 dataframe 並根據該名稱列表刪除所有行?

以下代碼刪除了參加特定賽季的所有球員;

原DF:

    Season  Player
0   2000    B
1   1993    B
2   1997    C
3   1994    A
4   1997    C
5   2000    F
6   1998    D
7   1997    C
8   1999    E

使用下面的代碼,我們可以消除行

a = df[df['Season'].isin([2000])]['Player'].values
df = df.loc[~df['Player'].isin(a), :]
df

Output:

Season  Player
2   1997    C
3   1994    A
4   1997    C
6   1998    D
7   1997    C
8   1999    E

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM