У меня два разных фрейма данных. Первый имеет следующую форму:
"start time" "end time" "Value1 " "Value2 "
12:00 12:01 0 0
12:01 12:02 1 2
12:02 12:03 3 4
Второй имеет следующую форму.
"start time" "end time" "Value1 " "Value2 "
12:00 12:01 0 0
12:01 12:02 1 6
12:02 12:03 0 0
Для обоих фреймов данных, если Value1 равно 0, то Value 2 также равно нулю. (то же самое применяется от значения 2 к значению 1)
Разница между временем начала и временем остановки всегда составляет 1 минуту, и оба фрейма данных имеют одинаковое количество строк. (целый день или 1440 строк)
Теперь я хочу объединить эти фреймы данных без учета нулей. Таким образом, правильные объединенные данные имеют следующую форму:
"start time" "end time" "Value1_1 " "Value2_1 " "Value1_2 " "Value2_2 "
12:01 12:02 1 2 1 6
То, что я делаю, это
df = pd.merge(df1, df2, left_index=True, right_index=True, how='outer')
Это просто не игнорирует 0 строк. Поэтому я подумал, почему бы сначала не объединить их, а затем избавиться от значений 0. Это не самый разумный способ, но он сработает. Интересно, есть ли лучший способ сделать это?