Outer merging two data frames in place in pandas

Franck Dernoncourt picture Franck Dernoncourt · Jul 6, 2017 · Viewed 10.2k times · Source

How can I outer merge two data frames in place in pandas?

For example, assume we have these two data frames:

import pandas as pd

s1 = pd.DataFrame({
    'time':[1234567000,1234567005,1234567009],
    'X1':[96.32,96.01,96.05]
},columns=['time','X1'])  # to keep columns order

s2 = pd.DataFrame({
    'time':[1234567001,1234567005],
    'X2':[23.88,23.96]
},columns=['time','X2'])  # to keep columns order

They could be merged with pandas.DataFrame.merge (s3 = pd.merge(s1,s2,how='outer')) or with pandas.merge (s3=s1.merge(s2,how='outer')), but it isn't in place. Instead, I'd like the merged data frame to replace s1 in memory.

Answer

Rayhane Mama picture Rayhane Mama · Jul 6, 2017

Since there is not inplace parameter in pandas.merge i think the most you can do is:

s1 = pd.merge(s1,s2,how='outer')

other than that, i don't think there's much left to do.
Hope that was helpful somehow.