1
+ import numpy as np
1
2
import os
2
3
import pandas as pd
3
4
import pytest
@@ -24,6 +25,31 @@ def test_encode_categories():
24
25
inds = misc .encode_categories (categories , return_map = False )
25
26
26
27
28
+ def test_merge_multiple_scorers_no_likelihood (fake_keypoints ):
29
+ temp = fake_keypoints .copy (deep = True )
30
+ temp .columns = temp .columns .set_levels (["you" ], level = "scorer" )
31
+ df = fake_keypoints .merge (temp , left_index = True , right_index = True )
32
+ df = misc .merge_multiple_scorers (df )
33
+ pd .testing .assert_frame_equal (df , fake_keypoints )
34
+
35
+
36
+ def test_merge_multiple_scorers (fake_keypoints ):
37
+ new_columns = pd .MultiIndex .from_product (
38
+ fake_keypoints .columns .levels [:- 1 ] + [["x" , "y" , "likelihood" ]],
39
+ names = fake_keypoints .columns .names ,
40
+ )
41
+ fake_keypoints = fake_keypoints .reindex (new_columns , axis = 1 )
42
+ fake_keypoints .loc (axis = 1 )[:, :, :, "likelihood" ] = 1
43
+ temp = fake_keypoints .copy (deep = True )
44
+ temp .columns = temp .columns .set_levels (["you" ], level = "scorer" )
45
+ fake_keypoints .iloc [:5 ] = np .nan
46
+ temp .iloc [5 :] = np .nan
47
+ df = fake_keypoints .merge (temp , left_index = True , right_index = True )
48
+ df = misc .merge_multiple_scorers (df )
49
+ pd .testing .assert_index_equal (df .columns , fake_keypoints .columns )
50
+ assert not df .isna ().any (axis = None )
51
+
52
+
27
53
@pytest .mark .parametrize (
28
54
"path" ,
29
55
["/home/to/fake/path" , "C:\\ Users\\ with\\ fake\\ name" ],
0 commit comments