2017-11-23 24 views
1

이것은 데이터베이스에서 추출한 예제입니다. 공동 저자의 시각화 작업을하고 있으므로이 샘플을 기반으로 두 명의 작가에게 한 가지 관계 만 유지해야합니다. Brian Norton --- Maria Roo Ons 또는 Maria Roo Ons --- Brian Norton 중 하나를 삭제해야 관계를 유지할 수 있습니다.Python/R : 중복 행 제거 - 고유 한 쌍의 작성자 유지

------------------------------------------------------------------------------------------------- 
|    article_title        | author_name  | coauthor_name | 
------------------------------------------------------------------------------------------------- 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Maria Roo Ons 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | Brian Norton 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | Brian Norton 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | Maria Roo Ons 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | S. Shynu  | Brian Norton 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | S. Shynu  | Maria Roo Ons 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | S. Shynu  | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | S. Shynu  | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Sarah McCormack | Brian Norton 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Sarah McCormack | Maria Roo Ons 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Sarah McCormack | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Sarah McCormack | S. Shynu 
------------------------------------------------------------------------------------------------- 

이상적인 최종 출력은 다음과 같습니다.

------------------------------------------------------------------------------------------------- 
|    article_title        | author_name  | coauthor_name | 
------------------------------------------------------------------------------------------------- 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Maria Roo Ons 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Brian Norton | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | Max Ammann 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Maria Roo Ons | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | S. Shynu 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | Max Ammann  | Sarah McCormack 
A Metal Plate Solar Antenna for UMTS Pico-cell Base Station | S. Shynu  | Sarah McCormack 

이 경우에는 한 행만 유지하려고합니다. R 또는 Python에서 어떻게 처리합니까? 도움을 주셔서 감사합니다.

+0

지금까지 시도해 보셨나요? 라이브러리/패키지를 사용하고 있습니까? (Numpy/Pandas for Python, dplyr 또는 R 용 datatables) –

답변

1

별도의 데이터베이스가 있고 파이썬을 사용하여 연결한다고 가정합니다.

가능한 방법은 :

1) 당신은 article 열을 기준으로 행 번호를 추가 한 후 중복을 미리 형성 할 수 있습니다. 당신은 this 답변을 확인해 볼 수 있습니다. DB 커넥터

2) 당신은 팬더 dataframe에 기록을 끌어와이 분석을 수행 할 수 있습니다 -

그런 다음 당신은 당신의 파이썬을 사용하여 쿼리를 실행할 수 있습니다. Pandas은 데이터 처리 및 조작에 적합합니다.

+0

감사합니다. 시도해 보겠습니다. –

0

다른 가능성이 발생할 수있는 것을 공유하지 않았으므로 데이터 프레임이 아래에 표시된 것과 같다고 가정합니다.

article author1 author2 
A  a  b 
A  b  a 
A  a  a 
A  b  b 

R에서는 찾고자하는 행을 얻을 수있는 방법입니다. 귀하의 데이터 프레임이 df1이라고 가정했습니다.

# This will create a new dataframe df2 with only those rows where author1 and author2 are different 

df2 <- df1[df1$author1 != df1$author2, ] 

결과물은 질문에서 제공 한 것과 같습니다.

article author1 author2 
    A  a  b 
    A  b  a 

내가 필요한 경우 알려주십시오.

+0

답해 주셔서 감사합니다,하지만 내 문제는 반복 열을 삭제하지 않습니다, 문제는 author1과 author2가 동일한 값을 가지고 있지만 같은 기사를 가지고있는 경우 중복을 삭제하는 방법입니다. –

+0

같은 값을 말할 때,'author1'과'author2'가 모두'a'가되어야한다는 것을 의미합니까? –

+0

아니요, 같은 글에서 다음과 같은 레코드가 필요하다는 것을 의미합니다. article A author1a author2b 또는 article A author1b author2a –