2016-12-28 6 views
0

팬더 데이터 프레임을 처음 사용하며 다음과 같은 질문이 있습니다.세 개의 데이터 프레임 결합

DOP_WNC DOP_TOW DOP_NRSVS DOP_PDOP DOP_VDOP DOP_HDOP DOP_TDOP 

1928 424800.0   4  5.81  5.36  2.24  2.72 

1928 424801.0   4  5.81  5.36  2.24  2.72 

1928 424802.0   4  5.80  5.35  2.24  2.72 

1928 424803.0   4  5.80  5.35  2.24  2.72 

1928 424804.0   4  5.80  5.35  2.24  2.72 

1928 424805.0   4  5.80  5.35  2.24  2.72 
  • DataFrame 2 pdGeod라는 다음과 같은 항목이 있습니다 : pdDop라는 이름의 다음과 같은 항목이 1

    • DataFrame :

      나는 3 dataframes는 CSV 파일을 읽고오고있다 :

      GEOD_TOW GEOD_MODE GEOD_2D/3D GEOD_Error GEOD_NrSV GEOD_Latitude GEOD_Longitude GEOD_Height 
      
      424800.0   1   0   0   4   0.8874   0.0767  150.4975 
      
      424801.0   1   0   0   4   0.8874   0.0767  150.5277 
      
      424802.0   1   0   0   4   0.8874   0.0767  150.5579 
      
      424803.0   1   0   0   4   0.8874   0.0767  150.5931 
      
      424804.0   1   0   0   4   0.8874   0.0767  150.6214 
      
    • 개 Dataframe 3 pdSatVis이라고하며 다음과 같은 한 항목 :

      VISIBILITY_TOW VISIBILITY_SVID VISIBILITY_AZIMUTH VISIBILITY_ELEVATION 
      
      426175.0    92    54.50     35.43 
      
      426175.0    100    108.22     26.00 
      
      426175.0    88    49.29     10.48 
      
      426175.0    89    278.29     17.39 
      
      426176.0    92    54.50     35.43 
      
      426176.0    100    108.22     26.00 
      
      426176.0    88    49.29     10.48 
      
      426176.0    89    278.29     17.39 
      
      426177.0    92    54.48     35.42 
      
      426177.0    100    108.23     25.98 
      
      426177.0    88    49.28     10.45 
      
      426177.0    89    278.27     17.38 
      
      426178.0    92    54.48     35.42 
      

    나는 각 dataframe에있는 *_TOW (시간 주의) 열을 기반으로 결합한 1 dataframe를 작성하고 싶습니다. 마지막 데이터 프레임 pdSatVis에는 VISIBILTY_TOW 값이있는 여러 줄이 있으며 이는 pdDoppdGeod에서 모두 1 행에 해당합니다. 명시 적으로에 병합

    pdDop['TOW'] = pdDop['DOP_TOW'] 
    pdGeod['TOW'] = pdGeod['GEOD_TOW'] 
    pdSatVis['TOW'] = pdSatVis['VISIBILITY_TOW'] 
    pd.merge(pd.merge(pdDop, pdGeod, how='outer'), pdSatVis, how='outer') 
    

    또는 열을 제공합니다 :

  • 답변

    0

    당신은에 병합 할 새 열을 추가 할 수 있습니다

    m1 = pd.merge(pdDop, pdGeod, how='outer', left_on='DOP_TOW', right_on='GEOD_TOW') 
    pd.merge(m1, pdSatVis, how='outer', left_on='DOP_TOW', right_on='VISIBILITY_TOW')