2017-01-27 17 views

回答

1

只需指定其他軸:

df = df.apply(lambda x:x.drop_duplicates(), axis=1) 
+0

謝謝。這是一個很好的答案。 – Mary

0
import numpy as np 
import pandas as pd 

df = pd.DataFrame([ 
    ['a', 'b', 'c', np.nan], 
    ['a', 'b', 'b', 'a'], 
    ['c', 'b', 'c', 'd'] 
]) 
duplicated = df.apply(lambda x: x.duplicated(keep='first'), axis=1) # converts each row into a pd.Series of True/False values indicating whether a cell is a duplicate 
print(duplicated) # this is a pd.DataFrame of True/False indicating which cells to drop. 
df[duplicated] = np.nan # assign np.nan to duplicates 
+0

謝謝。在應用函數之前,是否需要將數據幀轉換爲數組?如果是,如何? – Mary

+0

不,你可以直接應用這個df。無論如何,@ DYZ的答案是更好的,所以去吧。 – bnj

相關問題