2017-07-31 70 views
2

刪除重複我具有類似於此代碼:從數據幀視圖

df = raw_report[some_columns].copy() 
df.drop_duplicates(inplace=True) 

我用copy()避免的不確定性WRT觀看/複製的警告。不過,我想使用一個視圖,因爲後來我只從這個DataFrame讀取。生成警告的行是刪除重複項的行,所以我認爲它不會生成視圖。

因此,我的問題:有沒有辦法從視圖中刪除重複?或者,有沒有一種方法可以細化視圖,使其不包含重複項?

回答

0

我想你在DataFrame.drop_duplicates需要降重複參數子集僅一些列:

raw_report.drop_duplicates(subset=[some_columns],inplace=True) 
+0

哇哦,那是快!讓我檢查一下:) – wvxvw

+0

呃...不完全。在我這樣做後,'df._is_view'是'False'。所以,我猜測'drop_duplicates'通常不會創建視圖。但也許還有其他方法? 'groupby()'做了一些類似的事情。 – wvxvw

+0

嗯,我的解決方案刪除重複在原來的DF,不可見。所以,而不是兩步解決方案我創建一個步驟。但是,如果需要原創與愚蠢,然後另一個DF(視圖),然後不知道是否存在一些解決方案沒有複製和沒有硬設置'pd.options.mode.chained_assignment = None'什麼是壞主意。 – jezrael