Два кадра данных df1
и df2
(см. Ниже) предоставляют информацию об эксперименте, который получает параметр val
в моменты времени t
. Во время измерения для flag
устанавливается значение True или False в соответствии с событием в некоторые (не все) моменты времени t
. Между событиями флаг сохраняет свое значение.
Как объединить df1
и df2
с result
, в котором есть столбец со значением flag
для каждого измерения?
df1 = pd.DataFrame({'t':[0.5,1.3,2.1,3.3,4.0,5.6,6.1,7.9,8.3,9.0],
'val':['a0','b1','c2','d3','e4','j5','k6','l7','m8', 'n9']})
df2 = pd.DataFrame({'t':[0,2,3,5,7,8], 'flag':[False,True,False,True,False,True]})
# df1
t val
0 0.5 a0
1 1.3 b1
2 2.1 c2
3 3.3 d3
4 4.0 e4
5 5.6 j5
6 6.1 k6
7 7.9 l7
8 8.3 m8
9 9.0 n9
# df2
t flag
0 0 False
1 2 True
2 3 False
3 5 True
4 7 False
5 8 True
Необходимо получить этот результат:
result = pd.DataFrame({'t':[0.5,1.3,2.1,3.3,4.0,5.6,6.1,7.9,8.3,9.0],
'val':['a0','b1','c1','d3','e4','j5','k6','l7','m8','n9'],
'flag':[False,False,True,False,False,True,True,False,True,True]
})
# result:
t val flag
0 0.5 a0 False
1 1.3 b1 False
2 2.1 c1 True
3 3.3 d3 False
4 4.0 e4 False
5 5.6 j5 True
6 6.1 k6 True
7 7.9 l7 False
8 8.3 m8 True
9 9.0 n9 True