@@ -159,3 +159,91 @@ def test_multiindex_clean_names_pipe(multiindex_dataframe):
159
159
160
160
expected_columns = pd .MultiIndex (levels = levels , labels = labels )
161
161
assert set (df .columns ) == set (expected_columns )
162
+
163
+
164
+ def test_clean_names_strip_underscores_both (multiindex_dataframe ):
165
+ df = multiindex_dataframe .rename (columns = lambda x : '_' + x )
166
+ df = clean_names (multiindex_dataframe , strip_underscores = 'both' )
167
+
168
+ levels = [
169
+ ['a' , 'bell_chart' , 'decorated_elephant' ],
170
+ ['b' , 'normal_distribution' , 'r_i_p_rhino' ]
171
+ ]
172
+
173
+ labels = [[1 , 0 , 2 ], [1 , 0 , 2 ]]
174
+
175
+ expected_columns = pd .MultiIndex (levels = levels , labels = labels )
176
+ assert set (df .columns ) == set (expected_columns )
177
+
178
+
179
+ def test_clean_names_strip_underscores_true (multiindex_dataframe ):
180
+ df = multiindex_dataframe .rename (columns = lambda x : '_' + x )
181
+ df = clean_names (multiindex_dataframe , strip_underscores = True )
182
+
183
+ levels = [
184
+ ['a' , 'bell_chart' , 'decorated_elephant' ],
185
+ ['b' , 'normal_distribution' , 'r_i_p_rhino' ]
186
+ ]
187
+
188
+ labels = [[1 , 0 , 2 ], [1 , 0 , 2 ]]
189
+
190
+ expected_columns = pd .MultiIndex (levels = levels , labels = labels )
191
+ assert set (df .columns ) == set (expected_columns )
192
+
193
+
194
+ def test_clean_names_strip_underscores_right (multiindex_dataframe ):
195
+ df = clean_names (multiindex_dataframe , strip_underscores = 'right' )
196
+
197
+ levels = [
198
+ ['a' , 'bell_chart' , 'decorated_elephant' ],
199
+ ['b' , 'normal_distribution' , 'r_i_p_rhino' ]
200
+ ]
201
+
202
+ labels = [[1 , 0 , 2 ], [1 , 0 , 2 ]]
203
+
204
+ expected_columns = pd .MultiIndex (levels = levels , labels = labels )
205
+ assert set (df .columns ) == set (expected_columns )
206
+
207
+
208
+ def test_clean_names_strip_underscores_r (multiindex_dataframe ):
209
+ df = clean_names (multiindex_dataframe , strip_underscores = 'r' )
210
+
211
+ levels = [
212
+ ['a' , 'bell_chart' , 'decorated_elephant' ],
213
+ ['b' , 'normal_distribution' , 'r_i_p_rhino' ]
214
+ ]
215
+
216
+ labels = [[1 , 0 , 2 ], [1 , 0 , 2 ]]
217
+
218
+ expected_columns = pd .MultiIndex (levels = levels , labels = labels )
219
+ assert set (df .columns ) == set (expected_columns )
220
+
221
+
222
+ def test_clean_names_strip_underscores_left (multiindex_dataframe ):
223
+ df = multiindex_dataframe .rename (columns = lambda x : '_' + x )
224
+ df = clean_names (multiindex_dataframe , strip_underscores = 'left' )
225
+
226
+ levels = [
227
+ ['a' , 'bell_chart' , 'decorated_elephant' ],
228
+ ['b' , 'normal_distribution' , 'r_i_p_rhino_' ]
229
+ ]
230
+
231
+ labels = [[1 , 0 , 2 ], [1 , 0 , 2 ]]
232
+
233
+ expected_columns = pd .MultiIndex (levels = levels , labels = labels )
234
+ assert set (df .columns ) == set (expected_columns )
235
+
236
+
237
+ def test_clean_names_strip_underscores_l (multiindex_dataframe ):
238
+ df = multiindex_dataframe .rename (columns = lambda x : '_' + x )
239
+ df = clean_names (multiindex_dataframe , strip_underscores = 'l' )
240
+
241
+ levels = [
242
+ ['a' , 'bell_chart' , 'decorated_elephant' ],
243
+ ['b' , 'normal_distribution' , 'r_i_p_rhino_' ]
244
+ ]
245
+
246
+ labels = [[1 , 0 , 2 ], [1 , 0 , 2 ]]
247
+
248
+ expected_columns = pd .MultiIndex (levels = levels , labels = labels )
249
+ assert set (df .columns ) == set (expected_columns )
0 commit comments