我想從數據集中移除異常值。爲了做到這一點,我使用的是:如何從數據框中刪除行?
df = df[df.attr < df.attr.mean() + df.attr.std()*3]
這似乎達到預期效果,但是,當我這樣做:
for i in xrange(df.shape[0]):
print df.attr[i]
然後我得到一個KeyError
。看起來Pandas實際上並沒有返回一個新的DataFrame
,行被丟棄。我如何實際刪除這些行,並獲得功能齊全的DataFrame
?
我很想接受你的答案,因爲它實際上是對我的情況下,最好的解決辦法,但有人谷歌搜索這些關鍵字實際上可能需要刪除行(因爲不同的原因)所以我會接受另一個。 – MaiaVictor
我有點驚訝,我認爲['布爾索引'](http://pandas.pydata.org/pandas-docs/stable/indexing.html#boolean-indexing)更好,因爲下降,但它取決於您。祝你好運 :) – jezrael