Sport-specific career totals from the active profile tables, with VAL shown whenever the sport has a value file.
| Season | Age | Team | GP | G | AB | R | H | 2B | 3B | HR | RBI | SB | BB | SO | AVG | OBP | SLG | OPS | VAL |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2015 | 22 | NYM | 56 | 56 | 174 | 30 | 47 | 14 | 0 | 9 | 26 | 0 | 17 | 39 | .270 | .335 | .506 | .841 | 4.5 |
| 2016 | 23 | NYM | 109 | 109 | 304 | 38 | 67 | 21 | 1 | 12 | 42 | 2 | 36 | 89 | .220 | .310 | .414 | .724 | 5.5 |
| 2017 | 24 | NYM | 109 | 109 | 373 | 72 | 104 | 20 | 1 | 27 | 68 | 2 | 57 | 113 | .279 | .384 | .555 | .939 | 10.7 |
| 2018 | 25 | NYM | 153 | 153 | 543 | 78 | 132 | 25 | 1 | 28 | 82 | 3 | 84 | 159 | .243 | .350 | .448 | .798 | 11.8 |
| 2019 | 26 | NYM | 151 | 151 | 549 | 90 | 141 | 29 | 1 | 33 | 92 | 7 | 84 | 149 | .257 | .363 | .494 | .857 | 12.7 |
| 2020 | 27 | NYM | 54 | 54 | 202 | 40 | 65 | 12 | 0 | 9 | 31 | 3 | 24 | 57 | .322 | .412 | .515 | .927 | 5 |
| 2021 | 28 | NYM | 125 | 125 | 406 | 52 | 94 | 20 | 0 | 14 | 55 | 1 | 59 | 104 | .232 | .344 | .384 | .728 | 7.3 |
| 2023 | 30 | SF | 125 | 125 | 406 | 58 | 97 | 14 | 0 | 15 | 58 | 4 | 53 | 106 | .239 | .334 | .384 | .718 | 7.5 |
| 2024 | 31 | SF | 130 | 130 | 438 | 56 | 104 | 27 | 3 | 20 | 66 | 0 | 42 | 118 | .237 | .309 | .450 | .759 | 9.1 |
| 2025 | 32 | LAD | 138 | 138 | 418 | 54 | 83 | 20 | 0 | 12 | 36 | 1 | 56 | 121 | .199 | .305 | .333 | .638 | 5.7 |
| 2026 | 33 | CHC | 56 | 56 | 121 | 19 | 30 | 10 | 0 | 7 | 21 | 1 | 18 | 40 | .248 | .343 | .504 | .847 | 3.4 |
Wore 4 distinct franchise crests across 12 seasons (2015β2026) β a true nomad. The crest trail: