MLB/Players/Ryan O'Hearn
Ryan O'Hearn

RYAN O'HEARN

1B · Pittsburgh Pirates · 20182026 · 836 games
836
CAREER GAMES · REGULAR SEASON
9 seasons
.254
CAREER BATTING AVERAGE
657 hits in 2,582 at-bats
101
CAREER HOME RUNS
382 RBI · 12 stolen bases

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2026PIT963595497150176931861.270.328.454.782
2025SD144474671332111763581093.281.359.437.796
2024BAL14244360117213155946693.264.333.427.760
2023BAL11234648100221146015825.289.319.480.798
2022KC671341432611168350.239.282.321.603
2021KC8423623535192913710.225.265.369.634
2020KC421137226021818370.195.305.301.606
2019KC1053283264131143839990.195.281.369.650
2018KC441492339102123020450.262.349.597.946
Career8362,5823286571191010138224863312.254.320.426.745

04/Where the ball went

2026 Postseason
Play log from 2015
Spray chart · 0 batted balls

No batted balls with a location in this window.


05/Game log

2026
Postseason

No postseason games for Ryan O'Hearn in 2026.

Regular season and postseason are separate tables and are never summed into one career line; spring training is excluded entirely. Hitting and pitching come from different source rows, so a two-way player has both tables and neither borrows from the other. Innings pitched is summed as outs and converted once: the stored value counts thirds, so “6.1” means six innings and one out, and adding those as decimals understates a career. ERA and WHIP are computed from those totals rather than averaged across seasons. On-base percentage is (H + BB) over (AB + BB), which runs slightly under the official figure because the source rows carry no hit-by-pitch or sacrifice fly. The charts cover 2015 onward only, and the spray chart plots batted balls with a recorded landing spot: a strikeout or a walk has no location and is not a missing dot. Its field is a representative park, not the one the ball was hit in, because a spray chart pooled across a season is hit in thirty different outfields.