Discolouration on a hardwood floor that's in the wood itself usually indicates rot, which means the floor will have to be replaced. But if the discolouration is just in the top finish of the floor, and the wood seems solid, you can repair the finish without altering the wood or the stain. The top finish is gloss (usually polyurethane or varnish), which can be screened off and re-glossed, getting rid of the discolouration while keeping the wood intact.
Set up your floor buffer with a 60-grit screen. Run it over the floor, forward and back, in the direction of the boards, to remove most of the shine. Don't dig all the way into the wood, but screen it enough to remove the discolouration.
Vacuum thoroughly to pick up the dust.
Reload the floor buffer with 80-grit screen and repeat the screening process. Vacuum.
Load the buffer with 120-grit screen. Run it a third time. Vacuum thoroughly.
Spread polyurethane onto the floor with a paintbrush, making a thin, even coat. Brush it in the direction of the floorboards. Cover the whole floor.
Let the gloss set for eight hours. Dull the shine by sanding it by hand with 220-grit sandpaper in short, quick strokes. Wipe up the dust.
Add a second coat of polyurethane. Let it set, hand-sand it, wipe up the dust, then apply a third coat. Let the third coat dry for 24 hours.