Buttler seems a WAY better option than Duckett. Duckett's technique against spin is crappy. Even though Buttler hasn't played red ball cricket in a year, he sounds a better option over Duckett and Gary Ballance. Both Duckett and Buttler are aggressive, Buttler seems to have a better technique against spin as he displayed aganist Pakistan in the UAE in 2015. I'd rather have Buttler keeper than Bairstow. Bairstow is just not grabbing those chances, but he is a better batsman than Buttler. For the boeling, I think Ansari should be dropped for Gareth Batty, Batty has experience that Ansari doesn't have, and off spin troubled Indian batsmen, with Moeen Ali.
India: Bhuvi back, but it's a very tough choice whether Shami or Yadav should be dropped. There's Jayant Yadav who could be dropped, but his performance seemed good enough to let him stay otherwise. Depending on the pitch, I'd go with the same side, but if the surface is good for seamers, then it would make sense of Bhuvi to come into the side.