2016-12-28 11 views
0

私はpandasデータフレームを初めて使用しており、次の質問があります。3つのデータフレームを結合

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つのデータフレームは、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 
      
    • データフレーム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 
      

    私は、各データフレームである*_TOW(週の時刻)列に基づいて組み合わせた1つのデータフレームを作成したいと思います。最後のデータフレームpdSatVisには、VISIBILTY_TOWの値を持つ複数の行があり、pdDoppdGeodの1行にのみ対応しています。

  • 答えて

    0

    あなたは上のマージする新しい列を追加することができ、次のいずれか

    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') 
    

    または明示的にマージする列を提供します。

    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') 
    
    関連する問題