@@ -106,6 +106,8 @@ def ordered_merge(left, right, on=None, left_by=None, right_by=None,
106
106
Returns
107
107
-------
108
108
merged : DataFrame
109
+ The output type will the be same as 'left', if it is a subclass
110
+ of DataFrame.
109
111
"""
110
112
def _merger (x , y ):
111
113
op = _OrderedMerge (x , y , on = on , left_on = left_on , right_on = right_on ,
@@ -198,7 +200,8 @@ def get_result(self):
198
200
axes = [llabels .append (rlabels ), join_index ],
199
201
concat_axis = 0 , copy = self .copy )
200
202
201
- result = DataFrame (result_data ).__finalize__ (self , method = 'merge' )
203
+ typ = self .left ._constructor
204
+ result = typ (result_data ).__finalize__ (self , method = 'merge' )
202
205
203
206
self ._maybe_add_join_keys (result , left_indexer , right_indexer )
204
207
@@ -520,7 +523,8 @@ def get_result(self):
520
523
axes = [llabels .append (rlabels ), join_index ],
521
524
concat_axis = 0 , copy = self .copy )
522
525
523
- result = DataFrame (result_data )
526
+ typ = self .left ._constructor
527
+ result = typ (result_data ).__finalize__ (self , method = 'ordered_merge' )
524
528
525
529
self ._maybe_add_join_keys (result , left_indexer , right_indexer )
526
530
0 commit comments