2016-06-08 2 views
0

나는 큰 번호에 대한 연결 기능을 사용해야합니다. 열의 이 말을 해봅시다.큰 번호의 두 데이터 프레임을 연결합니다. 열의

여기 큰 숫자가 있습니다. 태그를 사용하여 모든 함수가 '태그 1'이후의 모든 열을 가져 오도록하려면 어떻게해야합니까?

 user  page_name   category tag1 tag2 tag3 
0 random guy  BlackBuck Transport/Freight  1  1  0 
1 mank nion  DJ CHETAS Arts/Entertainment  0  1  1 
2 random guy  GiveMeSport    Sport  1  0  1 
3 mank nion Gurkeerat Singh  Actor/Director  1  0  1 

제가 적용 할 MDF2

  user   page_name   category tag1 tag2 tag3 
0 pop rajuel  WOW Editions  Concert Tour NaN NaN NaN 
1 Roshan ghai   MensXP News/Media Website NaN NaN NaN 
2 mank nion  Celina Jaitly    Actress NaN NaN NaN 
3 pop rajuel  500 Startups   App Page 1.0 0.0 1.0 
4 Roshan ghai   No Abuse   Community NaN NaN NaN 
5 random guy Analytics Ninja Insurance Company NaN NaN NaN 
6 pop rajuel Biswapati Sarkar  Actor/Director 1.0 0.0 0.0 
7 Roshan ghai  the smartian  Public Figure 0.0 1.0 1.0 

출력

 user tag1 tag2 tag3 
0 mank nion 1.0 1.0 2.0 
1 random guy 2.0 1.0 1.0 
2 Roshan ghai 0.0 1.0 1.0 
3 mank nion NaN NaN NaN 
4 pop rajuel 2.0 0.0 1.0 
5 random guy NaN NaN NaN 

유일한 차이점 mdf1

내가 큰 없음을 가지고있다. 즉 'tag4' 'tag5'의 열 그래서 나는이 코드에서 'tag1'다음에 모든 칼럼을 취하기를 원한다. 나는 사용자를 그룹핑하고 합계 한 후 2 mdf를 연결하는 기본이다.

+0

데이터 샘플 (5,6 줄)과 원하는 출력을 추가 할 수 있습니까? – jezrael

+0

@jezrael가 추가되었습니다. 내 질문에 대한 설명이 필요합니까? –

+0

하지만 왜 필터 열이 필요합니까? 일부 열과 다른 열의 합계가 필요합니까? – jezrael

답변

0

난 당신이 groupbysum를 집계로 concat 필요하다고 생각 :

df = pd.concat([mdf1,mdf2]) 
print (df) 
      user   page_name   category tag1 tag2 tag3 
0 random guy   BlackBuck Transport/Freight 1.0 1.0 0.0 
1 mank nion   DJ CHETAS Arts/Entertainment 0.0 1.0 1.0 
2 random guy  GiveMeSport    Sport 1.0 0.0 1.0 
3 mank nion Gurkeerat Singh  Actor/Director 1.0 0.0 1.0 
0 pop rajuel  WOW Editions  Concert Tour NaN NaN NaN 
1 Roshan ghai   MensXP News/Media Website NaN NaN NaN 
2 mank nion  Celina Jaitly    Actress NaN NaN NaN 
3 pop rajuel  500 Startups   App Page 1.0 0.0 1.0 
4 Roshan ghai   No Abuse   Community NaN NaN NaN 
5 random guy Analytics Ninja Insurance Company NaN NaN NaN 
6 pop rajuel Biswapati Sarkar  Actor/Director 1.0 0.0 0.0 
7 Roshan ghai  the smartian  Public Figure 0.0 1.0 1.0 

print (df.groupby('user', as_index=False).sum()) 
      user tag1 tag2 tag3 
0 Roshan ghai 0.0 1.0 1.0 
1 mank nion 1.0 1.0 2.0 
2 pop rajuel 2.0 0.0 1.0 
3 random guy 2.0 1.0 1.0 

page_namecategory이 omited되어, automatic exclusion of nuisance columns 때문이다.

+0

예 이것은 내가이 문제를 해결하기 위해하고있는 일이다. 글을 올렸지 만 다른 사람이 답을 못했을 경우 [http://stackoverflow.com/questions/37630289/taking-two-and-more-data-frames-and-extracting-data-on- unique-keys-in-python] –

+0

@ranadan, 당신의 친구는 그의 코드를 보여주지 않았습니다. – Merlin

+0

@Merlin 다시 한번 링크를 확인하십시오. 우리는 작업중인 코드가 큰 데이터 세트에 적용될 때 약간의 시간이 걸리므로 잘 작동합니다. 그래서 엄청난 개선의 여지가 있습니다. 당신이 그들을 제안 할 수 있다면. –

관련 문제