2017-11-01 4 views
0

저는 팬더를 처음 사용하며 데이터 프레임의 행 선택에 문제가 있습니다. 다음특정 열을 기반으로 팬더 데이터 프레임에서 동일한 행을 선택하는 방법

내 DataFrame이다 : 나는, 컬럼에서 동일한 값을 갖는되는 행을 선택합니다

Index Column1 Column2 Column3 Column4 
    0 1234 500 NEWYORK NY 
    1 5678 700 AUSTIN TX 
    2 1234 300 NEWYORK NY 
    3 8910 235 RICHMOND FL 

, 3 열 및 column4 (이 3 열 측면에서 동일한 행). 출력 데이터 프레임에는 인덱스 0과 2가있는 행이 포함됩니다.

이 사용자 지정 선택에 대한 단계별 절차를 도와 줄 수 있습니까? df에 인덱스에 매퍼로

답변

2

사용 df.duplicated :

c = ['Column1', 'Column3', 'Column4'] 
df = df[df[c].duplicated(keep=False)] 

df 

    Index Column1 Column2 Column3 Column4 
0  0  1234  500 NEWYORK  NY 
2  2  1234  300 NEWYORK  NY 

keep=False 필터링에 대한 모든 중복 행을 표시합니다.

+0

Downvoter은 downvote에 대한 피드백을 부탁드립니다, 감사 대답을 개선하기 위해! –

+0

나는 어제 많은 downvote를 받았다 ... 그리고 아무 이유도 ... – Wen

+0

@Wen 모두는 익명의 downvoting와 잃는다. .. 그들은 1 명의 담당자를 잃어 버린다. 그리고 내가 내가 개량 할 수 있었을 정도로 내가 실수를했던 곳을 알고있는 기회를 잃어 버린다. .. –

0

Earler 나는 다음과 같은 방법을 사용 하였다

d = df.T.to_dict() 

dup=[] 
for i in d.keys(): 
    for j in d.keys(): 
     if i!=j: 
      if d[i]['column1']==agg_d[j]['column1'] and d[i]['column3']==d[j]['column3'] and d[i]['column3']==d[j]['column3']: 
       set(dup.append(k[i]['column1']) 

dup_rows = df[df.loc['column1'].isin(dup)] 
관련 문제