In [1]:
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
In [4]:
ser1 = Series([2,np.nan,4,np.nan,6,np.nan],
index=['Q','R','S','T','U','V'])
ser1
Out[4]:
In [3]:
ser2 = Series(np.arange(len(ser1)),
index=['Q','R','S','T','U','V'],
dtype=np.float64)
ser2
Out[3]:
In [5]:
Series(np.where(pd.isnull(ser1),ser2,ser1),index=ser1.index)
Out[5]:
In [6]:
# shorcut to previous command
ser1.combine_first(ser2)
Out[6]:
In [7]:
# dataframes
nan = np.nan
df_odds = DataFrame({'X':[1.,nan,3.,nan],
'Y':[nan,5.,nan,7.],
'Z':[nan,9.,nan,11.]})
In [9]:
df_evens = DataFrame({'X':[2.,4.,nan,6.,8.],
'Y':[nan,10.,12.,14.,16.]})
In [10]:
df_odds
Out[10]:
In [11]:
df_evens
Out[11]:
In [12]:
df_odds.combine_first(df_evens)
Out[12]:
In [ ]: