Since it's likely that the values
columns will be read as a Series in the DataFrame, here is an example that should help you out: (Note, I have omitted the pvalues
column for conciseness).
sheet1 = pd.Series([3,2,1], index=['Bread', 'Milk', 'Eggs'], name='Values_sheet1')
sheet2 = pd.Series([6,2,11], index=['Bread', 'Cheese', 'Salad'], name='Values_sheet2')
# concatenate the two series and fill in the missing data with zeros
result = pd.concat([sheet1,sheet2], axis=1).fillna(0)
print result
Should appear as:
Values_sheet1 Values_sheet2
Bread 3 6
Cheese 0 2
Eggs 1 0
Milk 2 0
Salad 0 11
Also, in your code example you had this row for your final result set:
Cheese 0 4
I'm guessing 4
was typo as it's supposed to be 2
as in this row from sheet2:
Cheese 2 0.003
Hope that helps.