It's recommended that you buy pesos before you land in Mexico, just in case you need the cash. According to this USA Today article, the most economical way to do this is to buy pesos from your bank in the U.S. Most banks will do this for free, especially if you're not withdrawing a significant amount of money.