Cardinals - Batting Average
Pre All Star: .276 (#3)
Post All Star: .259 (#11)
Pirates - Opponents Batting Average
Pre All Star: .225 (#1)
Post All Star: .253 (#17)
The Cardinals were a very solid offensive team all year, finishing #3 in runs scored before and after the All Star Game. They're a strange team because they scored so many runs despite finishing #27 in home runs. They compensated by hitting .330 in with runners in scoring position as a team for the entire season, a staggering 48 points better than the next highest team (Tigers).
The Pirates allowed the fewest home runs this year (101), so it seems likely that the Cardinals will have to continue getting clutch hits to score runs. The Pirates dominated hitters through the first half and then struggled a bit in the 2nd half.
One factor might be that closer Jason Grilli was injured on August 22, which may have thrown off the entire bullpen. He was out for 6 weeks and only recently settled back into the job as closer. Jeff Locke also struggled mightily in the 2nd half (6.12 ERA) after being one of their top starters in the 1st half (2.15). He will not be on the postseason roster.
This looks like an evenly matched series and the Pirates might even have the edge if their pitching is more like the 1st half than the 2nd half.