Preheat oven to 350°F (175°C) and line a muffin tin with cupcake liners.
In a large bowl, cream together the butter and sugar until light and fluffy. Beat in the eggs one at a time, then stir in the rose water.
In a separate bowl, whisk together the flour and baking powder. Gradually add the dry ingredients to the wet ingredients, alternating with the milk, beginning and ending with the dry ingredients. Mix until just combined.
Fold in the chopped pistachios.
Fill each cupcake liner about 2/3 full.
Bake for 20-22 minutes, or until a toothpick inserted into the center comes out clean.
Let the cupcakes cool in the tin for a few minutes before transferring them to a wire rack to cool completely.
For the frosting, beat the butter until light and fluffy. Gradually add the powdered sugar, alternating with the milk and rose water, until smooth and creamy.
Frost the cupcakes and garnish with additional chopped pistachios, if desired.
Notes
For a stronger rose flavor, add a few drops of rose extract to the batter and frosting.