career regular season statistics    
  
  | Year | Team | League | 
        GP         Games Played 
       | 
      
        AB         At Bats	 
       | 
      
        R         Runs	 
       | 
      
        H         Hits	 
       | 
      
        2B         Doubles	 
       | 
      
        3B         Triples	 
       | 
      
        HR         Home Runs	 
       | 
      
        RBI         Runs Batted In	 
       | 
      
        BB         Walks	 
       | 
      
        SO         Strikeouts	 
       | 
      
        SB         Stolen Bases	 
       | 
      
        CS         Caught Stealing	 
       | 
      
        AVG         Batting Average	 
       | 
      
        OBP         On-Base Percentage	 
       | 
      
        SLG         Slugging Percentage 
       | 
      
        OPS         On-Base Plus Slugging 
       | 
    
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | Chicago Cubs | NL | 156 | 599 | 89 | 178 | 29 | 4 | 7 | 61 | 39 | 49 | 29 | 6 | .297 | .345 | .394 | .739 | 
| 2024 | Chicago Cubs | NL | 151 | 582 | 86 | 159 | 35 | 1 | 7 | 48 | 44 | 66 | 31 | 6 | .273 | .335 | .373 | .708 | 
| 2023 | Chicago Cubs | NL | 150 | 619 | 98 | 175 | 27 | 4 | 9 | 68 | 49 | 83 | 43 | 7 | .283 | .346 | .383 | .729 | 
| 2022 | Chicago Cubs | NL | 135 | 481 | 60 | 135 | 22 | 5 | 10 | 55 | 28 | 57 | 20 | 2 | .281 | .327 | .410 | .736 | 
| 2021 | Chicago Cubs | NL | 44 | 149 | 13 | 45 | 10 | 0 | 0 | 16 | 17 | 25 | 5 | 3 | .302 | .382 | .369 | .751 | 
| 2021 | Iowa | AAA | 8 | 26 | 3 | 7 | 1 | 0 | 0 | 2 | 0 | 6 | 0 | 0 | .269 | .321 | .308 | .629 | 
| 2021 | South Bend | A | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | - | - | - | 
| 2020 | Chicago Cubs | NL | 48 | 108 | 19 | 24 | 4 | 0 | 0 | 13 | 12 | 24 | 3 | 2 | .222 | .312 | .259 | .571 | 
| 2019 | Chicago Cubs | NL | 20 | 78 | 13 | 22 | 1 | 1 | 3 | 17 | 3 | 11 | 0 | 0 | .282 | .305 | .436 | .741 | 
| 2019 | Tennessee | AA | 70 | 268 | 37 | 76 | 16 | 3 | 3 | 22 | 21 | 31 | 8 | 4 | .284 | .344 | .399 | .743 | 
| 2019 | AZL Cubs 2 | R | 5 | 20 | 2 | 8 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | .400 | .429 | .450 | .879 | 
| 2018 | Eugene | A | 7 | 22 | 6 | 7 | 0 | 1 | 1 | 2 | 5 | 3 | 4 | 1 | .318 | .464 | .545 | 1.01 | 
| 2018 | South Bend | A | 4 | 15 | 1 | 6 | 1 | 0 | 1 | 3 | 2 | 1 | 0 | 0 | .400 | .471 | .667 | 1.137 | 
| 2018 | AZL Cubs 1 | R | 3 | 12 | 3 | 3 | 1 | 1 | 0 | 1 | 2 | 0 | 2 | 0 | .250 | .400 | .500 | .900 | 
| 2018 | Stanford | NCAA | 57 | 232 | 45 | 80 | 17 | 6 | 2 | 40 | 20 | 22 | 15 | 4 | .345 | .391 | .496 | - | 
| 2017 | Stanford | NCAA | 58 | 251 | 43 | 77 | 18 | 2 | 1 | 33 | 15 | 22 | 2 | 1 | .307 | .357 | .406 | - | 
| 2016 | Stanford | NCAA | 53 | 209 | 28 | 53 | 8 | 2 | 0 | 24 | 13 | 29 | 1 | 2 | .254 | .298 | .311 | - | 
| - | Total | NL | 704 | 2616 | 378 | 738 | 128 | 15 | 36 | 278 | 192 | 315 | 131 | 26 | .282 | .340 | .384 | .723 | 
| - | Total | AAA | 8 | 26 | 3 | 7 | 1 | 0 | 0 | 2 | 0 | 6 | 0 | 0 | .269 | .321 | .308 | .629 | 
| - | Total | AA | 70 | 268 | 37 | 76 | 16 | 3 | 3 | 22 | 21 | 31 | 8 | 4 | .284 | .344 | .399 | .743 | 
| - | Total | A | 12 | 38 | 7 | 13 | 1 | 1 | 2 | 5 | 7 | 4 | 4 | 1 | .342 | .457 | .579 | 1.035 | 
| - | Total | R | 8 | 32 | 5 | 11 | 2 | 1 | 0 | 1 | 3 | 1 | 2 | 0 | .344 | .417 | .469 | .885 | 
| - | Total | NCAA | 168 | 692 | 116 | 210 | 43 | 10 | 3 | 97 | 48 | 73 | 18 | 7 | .303 | .351 | .408 | .759 |