I have a simple data frame like this:
d1={'a':{'1998-01-01':10}}
d2={'b':{'1998-01-01':3}}
df=pd.DataFrame.from_dict(d1)
df=df.append(pd.DataFrame.from_dict(d2))
df.index=pd.to_datetime(df.index)
a b
1998-01-01 10 NaN
1998-01-01 NaN 3
I would like to have
a b
1998-01-01 10 3
Since 1998-01-01 share the index
Or you can use groupby
by index
different way - with parameter level=0
with sum
:
print (df.groupby(level=0).sum())
a b
1998-01-01 10 3
If need avoid that an all nan group (by index) gets transformed to zero add min_count=1
, thanks @LukasS:
print (df.groupby(level=0, min_count=1).sum())