@@ -72,18 +72,18 @@ def test_operators(self):
72
72
assert (df + df ).equals (df )
73
73
assert_frame_equal (df + df , df )
74
74
75
- def test_ops_np_scalar (self ):
76
- vals , xs = np .random .rand (5 , 3 ), [nan , 7 , - 23 , 2.718 , - 3.14 , np .inf ]
75
+ @pytest .mark .parametrize ('other' , [nan , 7 , - 23 , 2.718 , - 3.14 , np .inf ])
76
+ def test_ops_np_scalar (self , other ):
77
+ vals = np .random .randn (5 , 3 )
77
78
f = lambda x : DataFrame (x , index = list ('ABCDE' ),
78
79
columns = ['jim' , 'joe' , 'jolie' ])
79
80
80
81
df = f (vals )
81
82
82
- for x in xs :
83
- assert_frame_equal (df / np .array (x ), f (vals / x ))
84
- assert_frame_equal (np .array (x ) * df , f (vals * x ))
85
- assert_frame_equal (df + np .array (x ), f (vals + x ))
86
- assert_frame_equal (np .array (x ) - df , f (x - vals ))
83
+ assert_frame_equal (df / np .array (other ), f (vals / other ))
84
+ assert_frame_equal (np .array (other ) * df , f (vals * other ))
85
+ assert_frame_equal (df + np .array (other ), f (vals + other ))
86
+ assert_frame_equal (np .array (other ) - df , f (other - vals ))
87
87
88
88
def test_operators_boolean (self ):
89
89
@@ -116,41 +116,40 @@ def test_operators_boolean(self):
116
116
True , index = [1 ], columns = ['A' ])
117
117
assert_frame_equal (result , DataFrame (1 , index = [1 ], columns = ['A' ]))
118
118
119
- def f ():
120
- DataFrame (1.0 , index = [1 ], columns = ['A' ]) | DataFrame (
121
- True , index = [ 1 ], columns = [ 'A' ])
122
- pytest . raises ( TypeError , f )
119
+ df1 = DataFrame ( 1.0 , index = [ 1 ], columns = [ 'A' ])
120
+ df2 = DataFrame (True , index = [1 ], columns = ['A' ])
121
+ with pytest . raises ( TypeError ):
122
+ df1 | df2
123
123
124
- def f ():
125
- DataFrame ('foo' , index = [1 ], columns = ['A' ]) | DataFrame (
126
- True , index = [ 1 ], columns = [ 'A' ])
127
- pytest . raises ( TypeError , f )
124
+ df1 = DataFrame ( 'foo' , index = [ 1 ], columns = [ 'A' ])
125
+ df2 = DataFrame (True , index = [1 ], columns = ['A' ])
126
+ with pytest . raises ( TypeError ):
127
+ df1 | df2
128
128
129
- def test_operators_none_as_na (self ):
129
+ @pytest .mark .parametrize ('op' , [operator .add , operator .sub ,
130
+ operator .mul , operator .truediv ])
131
+ def test_operators_none_as_na (self , op ):
130
132
df = DataFrame ({"col1" : [2 , 5.0 , 123 , None ],
131
133
"col2" : [1 , 2 , 3 , 4 ]}, dtype = object )
132
134
133
- ops = [operator .add , operator .sub , operator .mul , operator .truediv ]
134
-
135
135
# since filling converts dtypes from object, changed expected to be
136
136
# object
137
- for op in ops :
138
- filled = df .fillna (np .nan )
139
- result = op (df , 3 )
140
- expected = op (filled , 3 ).astype (object )
141
- expected [com .isna (expected )] = None
142
- assert_frame_equal (result , expected )
137
+ filled = df .fillna (np .nan )
138
+ result = op (df , 3 )
139
+ expected = op (filled , 3 ).astype (object )
140
+ expected [com .isna (expected )] = None
141
+ assert_frame_equal (result , expected )
143
142
144
- result = op (df , df )
145
- expected = op (filled , filled ).astype (object )
146
- expected [com .isna (expected )] = None
147
- assert_frame_equal (result , expected )
143
+ result = op (df , df )
144
+ expected = op (filled , filled ).astype (object )
145
+ expected [com .isna (expected )] = None
146
+ assert_frame_equal (result , expected )
148
147
149
- result = op (df , df .fillna (7 ))
150
- assert_frame_equal (result , expected )
148
+ result = op (df , df .fillna (7 ))
149
+ assert_frame_equal (result , expected )
151
150
152
- result = op (df .fillna (7 ), df )
153
- assert_frame_equal (result , expected , check_dtype = False )
151
+ result = op (df .fillna (7 ), df )
152
+ assert_frame_equal (result , expected , check_dtype = False )
154
153
155
154
def test_comparison_invalid (self ):
156
155
@@ -978,8 +977,11 @@ def test_boolean_comparison(self):
978
977
result = df .values > b_r
979
978
assert_numpy_array_equal (result , expected .values )
980
979
981
- pytest .raises (ValueError , df .__gt__ , b_c )
982
- pytest .raises (ValueError , df .values .__gt__ , b_c )
980
+ with pytest .raises (ValueError ):
981
+ df > b_c
982
+
983
+ with pytest .raises (ValueError ):
984
+ df .values > b_c
983
985
984
986
# ==
985
987
expected = DataFrame ([[False , False ], [True , False ], [False , False ]])
@@ -998,7 +1000,9 @@ def test_boolean_comparison(self):
998
1000
result = df .values == b_r
999
1001
assert_numpy_array_equal (result , expected .values )
1000
1002
1001
- pytest .raises (ValueError , lambda : df == b_c )
1003
+ with pytest .raises (ValueError ):
1004
+ df == b_c
1005
+
1002
1006
assert df .values .shape != b_c .shape
1003
1007
1004
1008
# with alignment
0 commit comments