@@ -188,17 +188,61 @@ MultiIndex
188
188
left.intersection(right, sort = False )
189
189
190
190
- Bug in :meth: `MultiIndex.get_indexer ` incorrectly handling use of pad and backfill options (:issue: `29896 `)
191
- .. ipython :: python
192
-
193
- df = pd.DataFrame({
194
- ' a' : [0 , 0 , 0 , 0 ],
195
- ' b' : [0 , 2 , 3 , 4 ],
196
- ' c' : [' A' , ' B' , ' C' , ' D' ]
197
- }).set_index([' a' , ' b' ])
198
- mi_2 = pd.MultiIndex.from_product([[0 ], [- 1 , 0 , 1 , 3 , 4 , 5 ]])
191
+ *pandas [0.23.0, 1.1.0) *
192
+ .. code-block :: python
193
+ >> > df = pd.DataFrame({
194
+ ... ' a' : [0 , 0 , 0 , 0 ],
195
+ ... ' b' : [0 , 2 , 3 , 4 ],
196
+ ... ' c' : [' A' , ' B' , ' C' , ' D' ],
197
+ ... }).set_index([' a' , ' b' ])
198
+ >> > mi_2 = pd.MultiIndex.from_product([[0 ], [- 1 , 0 , 1 , 3 , 4 , 5 ]])
199
+ >> >
200
+ >> > df.reindex(mi_2, method = " backfill" )
201
+ c
202
+ 0 - 1 A
203
+ 0 A
204
+ 1 D
205
+ 3 A
206
+ 4 A
207
+ 5 C
208
+ >> >
209
+ >> > df.reindex(mi_2, method = " pad" )
210
+ c
211
+ 0 - 1 NaN
212
+ 0 NaN
213
+ 1 D
214
+ 3 NaN
215
+ 4 A
216
+ 5 C
217
+
218
+ *pandas 1.1.0 *:
219
+ .. code-block :: python
220
+ >> > df = pd.DataFrame({
221
+ ... ' a' : [0 , 0 , 0 , 0 ],
222
+ ... ' b' : [0 , 2 , 3 , 4 ],
223
+ ... ' c' : [' A' , ' B' , ' C' , ' D' ],
224
+ ... }).set_index([' a' , ' b' ])
225
+ >> > mi_2 = pd.MultiIndex.from_product([[0 ], [- 1 , 0 , 1 , 3 , 4 , 5 ]])
226
+ >> >
227
+ >> > df.reindex(mi_2, method = " backfill" )
228
+ c
229
+ 0 - 1 A
230
+ 0 A
231
+ 1 B
232
+ 3 C
233
+ 4 D
234
+ 5 NaN
235
+ >> >
236
+ >> > df.reindex(mi_2, method = " pad" )
237
+ c
238
+ 0 - 1 NaN
239
+ 0 A
240
+ 1 A
241
+ 3 C
242
+ 4 D
243
+ 5 D
244
+ >> >
199
245
200
- df.reindex(mi_2, method = ' backfill' )
201
- df.reindex(mi_2, method = ' pad' )
202
246
-
203
247
204
248
I/O
0 commit comments