The average British household wastes more than three weeks’ worth of food every year, research has revealed.