簡體   English   中英

根據索引和條件刪除行

[英]Dropping rows based on index and condition

我想根據行范圍刪除某些行:我覺得它看起來像下面這樣

df.drop(df.index[[0,1,2,3]])

這樣只會刪除我的前兩行,但當且僅當該行范圍為空白時,我才想刪除這些行。 所以

  Name

  Macy
  June

Jackson

因此,當且僅當它們沒有數據時,我只想遍歷數據框並刪除該范圍內的行,因此我的新數據框將如下所示:

  Name
  Macy
  June
Jackson

您不需要 drop 語句中的df.index 但是,如果您只想保留填充Name列的行,則可以使用:

> df_filter = df [df.Name != '']

如果你真的想根據索引定位行,你可以使用

> df_filter = df.drop([0,2])

您可以使用df.ix獲取例外項目,然后使用dropna()方法刪除None

df.ix[indices].dropna()

演示:

In [48]: df
Out[48]: 
      name
0     None
1     Macy
2     June
3     None
4  Jackson

In [49]: df.ix[[0,1,2,3]].dropna()
Out[49]: 
   name
1  Macy
2  June

注意:如評論中所述,由於不推薦使用ix方法,因此您可以使用df.loc()代替。

暫無
暫無

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

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