When applying an arithmetic operator via methods on a a pandas series or dataframe, you can pass an argument fill_value to specify how to handle missing values. http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.add.html
For example:
import pandas as pd
s1 = pd.Series([1, np.nan, 2])
s2 = pd.Series([1, 2, np.nan])
Just adding series s1 and s2 yields:
s1.add(s2)
0 2.0
1 NaN
2 NaN
dtype: float64
s1 is missing at s1.loc[1] and s2 is missing at s2.loc[2]. So at loc[[1, 2]] the add method produces missing. If we instead use the fill_value=0 argument:
s1.add(s2, fill_value=0)
0 2.0
1 2.0
2 2.0
dtype: float64
Which fills in missing values for s1 and s2.
Question: How do I fill in missing on left side only?
I'd expect a result that fills in the missing s1.loc[1] and returns missing at .loc[2]
0 2.0
1 2.0
2 NaN
dtype: float64
Aucun commentaire:
Enregistrer un commentaire