2017-08-07 13 views
1

最初のCSVファイル。pythonを使用して2つの列フィールドに同じ値を持つ2つのCSVファイルをマージする方法はありますか?

DATE   TIME  ENG-1 ENG-2 ENG-3 ENG-4 ENG-5 ENG-6 
'01 10 2016' '06:35:00' 0.28596 0.29029 0.28756 0.28571 0.30868 0.14109 
'01 10 2016' '06:40:00' 0.44193 0.45012 0.44324 0.44423 0.46907 0.21463 
'01 10 2016' '06:45:00' 0.62864 0.64037 0.62642 0.63543 0.66269 0.31124 
'01 10 2016' '06:50:00' 0.80956 0.83893 0.80395 0.83088 0.85561 0.39706 
'01 10 2016' '06:55:00' 1.03745 1.06965 1.03274 1.06828 1.09404 0.51961 
'01 10 2016' '07:00:00' 1.27753 1.32139 1.27205 1.31855 1.3468 0.64307 
'01 10 2016' '07:05:00' 1.47166 1.52537 1.45165 1.52041 1.54714 0.74423 

第二CSVは、私だけのための日付と時刻の値が一致し、それらの値を取る第三CSVファイルにこれらの二つのCSVを組み合わせたい

DATE   TIME  A B C D 
'01 10 2016' '06:00:00' 27 74 0 4 
'01 10 2016' '06:30:00' 27 74 1.9 4 
'01 10 2016' '07:00:00' 27 74 0 4 
'01 10 2016' '07:30:00' 28 70 7.4 4 
'01 10 2016' '08:00:00' 28 70 9.3 4 

ファイル。

結果結合CSVファイルは、次のようになります。あなたがデフォルトinnermergeが必要

DATE   TIME  ENG-1 ENG-2 ENG-3 ENG-4 ENG-5 ENG-6 A B C D 
'01 10 2016' '07:00:00' 1.27753 1.32139 1.27205 1.31855 1.3468 0.64307 27 74 0 4 

答えて

0

パラメータonに参加:のみDATETIME列(参加のためには)両方DataFramesであり、すべての他の列名が異なる、onができた場合は

df = pd.merge(df1, df2, on=['DATE','TIME']) 
print (df) 
      DATE  TIME ENG-1 ENG-2 ENG-3 ENG-4 ENG-5 \ 
0 '01 10 2016' '07:00:00' 1.27753 1.32139 1.27205 1.31855 1.3468 

    ENG-6 A B C D 
0 0.64307 27 74 0.0 4 

省略:

df = pd.merge(df1, df2) 
print (df) 
      DATE  TIME ENG-1 ENG-2 ENG-3 ENG-4 ENG-5 \ 
0 '01 10 2016' '07:00:00' 1.27753 1.32139 1.27205 1.31855 1.3468 

    ENG-6 A B C D 
0 0.64307 27 74 0.0 4 

また、セサリー同じdtype結合の列数。それ以外の場合は一致しません。

関連する問題