와 중복은 dataframe을 가지고 :팬더 : 조건
df = pd.DataFrame(np.array([['a',0,3],
['b',3,3],
['c',5,6],
['a',3,4]
,['b',0,2]]), columns=['id','y','z'])
df
Out[3]:
id y z
0 a 0 3
1 b 3 3
2 c 5 6
3 a 3 4
4 b 0 2
내가 Y 컬럼에 0의 값을 갖는 모든 중복을 제거 할. 항목의 중복 값이 "a"는의 비 제로 값 앞에 0의 바깥 값 함께 제공 있기 때문에 - 당신은 그것은 단지 중복을 제거하지만 다른 잎 볼 수
df.loc[(~df.duplicated('id')) | ((df.duplicated('id'))&(df['y'].astype(int)>0)),:]
Out[4]:
id y z
0 a 0 3
1 b 3 3
2 c 5 6
3 a 3 4
아래 내 시도를 참조하십시오 3. groupbys 및 정렬 등을 사용하지 않고이 문제를 해결할 방법이 있습니까? 당신은 True
모든 중복 된 경우를 표시 keep=False
을 사용할 수 있습니다
감사
원하는 데이터 세트를 게시 할 수 있습니까? – MaxU