Use concat to merge them together and then use a groupby with sum() as the aggrigation method
df1 = pd.DataFrame([['Sun', 1, 0.121],['Sun', 2, 0.123]])
df2 = pd.DataFrame([['Sun', 1, 0.5],['Sun', 2, 0.6]])
df = pd.concat([df1, df2])
print(df)
# 0 1 2
# 0 Sun 1 0.121
# 1 Sun 2 0.123
# 0 Sun 1 0.500
# 1 Sun 2 0.600
print(df.groupby([0, 1], as_index=False).sum())
# 0 1 2
# 0 Sun 1 0.621
# 1 Sun 2 0.723
The df.groupby() works by passing the columns you want to use for grouping and what order. In this case, I don't have column names, so I passed integers to indicate the column positions. The as_index parameter will tell it to not try to reindex the dataframe with the grouped columns. The df.groupby() will return a DataFrameGroupBy object. By passing it to the .sum() function, it will return a dataframe with the results you are looking for.
gb = df.groupby([0, 1], as_index=False)
print(gb)
# <pandas.core.groupby.groupby.DataFrameGroupBy object at 0x000000000109A4A8>
print(gb.sum())
# 0 1 2
# 0 Sun 1 0.621
# 1 Sun 2 0.723
print(gb.mean())
# 0 1 2
# 0 Sun 1 0.3105
# 1 Sun 2 0.3615
indexis confusing asindexrefers to the row labels in Pandas land. Did you mean 3 columns?