@@ -22,26 +22,26 @@ def test_simple(self):
22
22
23
23
def test_bins (self ):
24
24
data = np .array ([.2 , 1.4 , 2.5 , 6.2 , 9.7 , 2.1 ])
25
- result , bins = cut (data , 3 , labels = False , retbins = True )
26
- assert_equal (result , [1 , 1 , 1 , 2 , 3 , 1 ])
25
+ result , bins = cut (data , 3 , retbins = True )
26
+ assert_equal (result . labels , [0 , 0 , 0 , 1 , 2 , 0 ])
27
27
assert_almost_equal (bins , [ 0.1905 , 3.36666667 , 6.53333333 , 9.7 ])
28
28
29
29
def test_right (self ):
30
30
data = np .array ([.2 , 1.4 , 2.5 , 6.2 , 9.7 , 2.1 , 2.575 ])
31
- result , bins = cut (data , 4 , right = True , labels = False , retbins = True )
32
- assert_equal (result , [1 , 1 , 1 , 3 , 4 , 1 , 1 ])
31
+ result , bins = cut (data , 4 , right = True , retbins = True )
32
+ assert_equal (result . labels , [0 , 0 , 0 , 2 , 3 , 0 , 0 ])
33
33
assert_almost_equal (bins , [0.1905 , 2.575 , 4.95 , 7.325 , 9.7 ])
34
34
35
35
def test_noright (self ):
36
36
data = np .array ([.2 , 1.4 , 2.5 , 6.2 , 9.7 , 2.1 , 2.575 ])
37
- result , bins = cut (data , 4 , right = False , labels = False , retbins = True )
38
- assert_equal (result , [1 , 1 , 1 , 3 , 4 , 1 , 2 ])
37
+ result , bins = cut (data , 4 , right = False , retbins = True )
38
+ assert_equal (result . labels , [0 , 0 , 0 , 2 , 3 , 0 , 1 ])
39
39
assert_almost_equal (bins , [ 0.2 , 2.575 , 4.95 , 7.325 , 9.7095 ])
40
40
41
41
def test_arraylike (self ):
42
42
data = [.2 , 1.4 , 2.5 , 6.2 , 9.7 , 2.1 ]
43
- result , bins = cut (data , 3 , labels = False , retbins = True )
44
- assert_equal (result , [1 , 1 , 1 , 2 , 3 , 1 ])
43
+ result , bins = cut (data , 3 , retbins = True )
44
+ assert_equal (result . labels , [0 , 0 , 0 , 1 , 2 , 0 ])
45
45
assert_almost_equal (bins , [ 0.1905 , 3.36666667 , 6.53333333 , 9.7 ])
46
46
47
47
def test_bins_not_monotonic (self ):
@@ -51,39 +51,39 @@ def test_bins_not_monotonic(self):
51
51
def test_labels (self ):
52
52
arr = np .tile (np .arange (0 , 1.01 , 0.1 ), 4 )
53
53
54
- labels , bins = cut (arr , 4 , retbins = True )
55
- distinct_labels = sorted (unique (labels ))
56
- ex_labels = ['(-0.001, 0.25]' , '(0.25, 0.5]' , '(0.5, 0.75]' ,
54
+ result , bins = cut (arr , 4 , retbins = True )
55
+ ex_levels = ['(-0.001, 0.25]' , '(0.25, 0.5]' , '(0.5, 0.75]' ,
57
56
'(0.75, 1]' ]
58
- self .assertEqual ( distinct_labels , ex_labels )
57
+ self .assert_ ( np . array_equal ( result . levels , ex_levels ) )
59
58
60
- labels , bins = cut (arr , 4 , retbins = True , right = False )
61
- distinct_labels = sorted (unique (labels ))
62
- ex_labels = ['[0, 0.25)' , '[0.25, 0.5)' , '[0.5, 0.75)' ,
59
+ result , bins = cut (arr , 4 , retbins = True , right = False )
60
+ ex_levels = ['[0, 0.25)' , '[0.25, 0.5)' , '[0.5, 0.75)' ,
63
61
'[0.75, 1.001)' ]
64
- self .assertEqual ( distinct_labels , ex_labels )
62
+ self .assert_ ( np . array_equal ( result . levels , ex_levels ) )
65
63
66
64
def test_label_precision (self ):
67
65
arr = np .arange (0 , 0.73 , 0.01 )
68
66
69
- labels = cut (arr , 4 , precision = 2 )
70
- distinct_labels = sorted (unique (labels ))
71
- ex_labels = ['(-0.00072, 0.18]' , '(0.18, 0.36]' , '(0.36, 0.54]' ,
67
+ result = cut (arr , 4 , precision = 2 )
68
+ ex_levels = ['(-0.00072, 0.18]' , '(0.18, 0.36]' , '(0.36, 0.54]' ,
72
69
'(0.54, 0.72]' ]
73
- self .assertEqual ( distinct_labels , ex_labels )
70
+ self .assert_ ( np . array_equal ( result . levels , ex_levels ) )
74
71
75
72
def test_na_handling (self ):
76
73
arr = np .arange (0 , 0.75 , 0.01 )
77
74
arr [::3 ] = np .nan
78
75
79
- labels = cut (arr , 4 )
80
- ex_labels = np .where (com .isnull (arr ), np .nan , labels )
76
+ result = cut (arr , 4 )
81
77
82
- tm . assert_almost_equal ( labels , ex_labels )
78
+ result_arr = np . asarray ( result )
83
79
84
- labels = cut (arr , 4 , labels = False )
85
- ex_labels = np .where (com .isnull (arr ), np .nan , labels )
86
- tm .assert_almost_equal (labels , ex_labels )
80
+ ex_arr = np .where (com .isnull (arr ), np .nan , result_arr )
81
+
82
+ tm .assert_almost_equal (result_arr , ex_arr )
83
+
84
+ result = cut (arr , 4 , labels = False )
85
+ ex_result = np .where (com .isnull (arr ), np .nan , result )
86
+ tm .assert_almost_equal (result , ex_result )
87
87
88
88
def test_qcut (self ):
89
89
arr = np .random .randn (1000 )
@@ -94,9 +94,9 @@ def test_qcut(self):
94
94
95
95
assert_almost_equal (bins , ex_bins )
96
96
97
- ex_labels = cut (arr , ex_bins )
97
+ ex_levels = cut (arr , ex_bins )
98
98
99
- self .assert_ (np .array_equal (labels , ex_labels ))
99
+ self .assert_ (np .array_equal (labels , ex_levels ))
100
100
101
101
102
102
if __name__ == '__main__' :
0 commit comments