As an alternative to the vendors mentioned in other answers, Herluin Lothaire usually has two daedra hearts. He restocks every 48 hours although is not guaranteed to restore both hearts after this time, instead replenishing with other rare ingredients such as void salts and fire salts. The longest I have ever had to wait for at least one heart is 48 hours.
Herluin Lothaire's shop is located in The Ragged Flaggon (Thieves Guild Bar room) in Riften, however only after completing the second of the special jobs for Delvin. Special jobs are obtained by doing 5 random jobs for Delvin or Vex in the same city. Membership of the thieves guild is required, therefore, to use him as a vendor.
This means it may require more effort initially to set up this source of daedra hearts, though he forms a much more reliable one than drops from Daedras encountered in the wild.