程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

pandas如何去掉、過濾數據集中的某些值或者某些行

編輯:Python

摘要
在進行數據分析與清理中,我們可能常常需要在數據集中去掉某些異常值。具體來說,看看下面的例子。


0.導入我們需要使用的包
import pandas as pd
pandas是很常用的數據分析,數據處理的包。anaconda已經有這個包了,純淨版python的可以自行pip安裝。


1.去掉某些具體值

數據集df中,對於屬性appPlatform(最後一列),我們想刪除掉取值為2的那些樣本。
如何做?非常簡單。
import pandas as pd
df[(True-df['appPlatform'].isin([2]))]

當然,有時候我們需要去掉不止一個值,這個時候只需要在isin([])的列表中添加。更具體來說,例如,對於appID這個屬性,我們想去掉appID=278和appID=382的樣本。
df[(True-df['appID'].isin([278,382]))]


另外,我們有時候並不只是考慮某一列,還需要考慮另外若干列的情況。例如,我們需要過濾掉appPlatform=2而且appID=278和appID=382的樣本呢?非常簡單。
df[(True-df['appID'].isin([278,382]))&(True-df['appPlatform'].isin([2]))]
.其實,在這裡我們看到,就是由兩部分組成的,第一部分就是appID中等於278和382的,另外一部分就是appPlatform中等於2的。兩者取邏輯關系 與(&)

2.過濾掉某個范圍的值
上面我們是了解了如何取掉某個具體值,下面,我們要看看如何過濾掉某個范圍的值。
對於數據集df,我們想過濾掉creativeID(第一列)中ID值大於10000的樣本。
df[df['creativeID']<=10000]


另外,如果要考慮多列的話,其實和上面一樣,將兩種情況做邏輯與(&)就可以,不過值得注意的是,每個條件要用括號()括起來。

原文:https://blog.csdn.net/qq_22238533/article/details/76127966 
 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved