2017-06-08 11 views
0

これらのデータフレームにはtestとrulがあります。 rulデータフレームには、データセットとユニットIDに基づいてテストのRULに追加する必要のあるRULカラムの定数が含まれています。私はこれを達成するための手がかりがなく、誰かが私を正しい方向に導くことができれば幸いです。データフレームのIDに基づいて2つのデータフレームの合計の列

ありがとうございました。

Test: +-------+------------+---------+-----+ | | dataset_id | unit_id | RUL | +-------+------------+---------+-----+ | 0 | FD001 | 1 | 30 | | 1 | FD001 | 1 | 29 | | 2 | FD001 | 1 | 28 | | 3 | FD001 | 1 | 27 | | 4 | FD001 | 1 | 26 | | ... | ... | ... | ... | | 41209 | FD004 | 248 | 4 | | 41210 | FD004 | 248 | 3 | | 41211 | FD004 | 248 | 2 | | 41212 | FD004 | 248 | 1 | | 41213 | FD004 | 248 | 0 | +-------+------------+---------+-----+

rul +-----+------------+---------+-----+ | | dataset_id | unit_id | RUL | +-----+------------+---------+-----+ | 3 | FD004 | 4 | 75 | | 63 | FD003 | 64 | 28 | | 70 | FD002 | 71 | 148 | | 203 | FD002 | 204 | 121 | | 225 | FD004 | 226 | 88 | | ... | ... | ... | ... | | 45 | FD004 | 46 | 134 | | 60 | FD002 | 61 | 169 | | 140 | FD004 | 141 | 130 | | 94 | FD001 | 95 | 128 | | 161 | FD002 | 162 | 41 | +-----+------------+---------+-----+

答えて

1

あなたは明示的にマージ行うことができます:

m = test.merge(rul, on=['dataset_id', 'unit_id'], how='left') 
test['rul'] = m['rul_x'] + m['rul_y'] 

またはGROUPBY文を実行します。

pd.concat([test, rul]).groupby(['dataset_id', 'unit_id'], as_index=False)['rul'].sum() 
+0

恐ろしいが。それは私が予想したよりずっと簡単でした。ありがとう – hfjn

関連する問題