You are going to need a flag that tells Streamlit not to run the content preceding the button.
This can be done with either the session state implementation
Or it can be done with the get/set query parameters. You could have a “reset button pusher is true” parameter that causes the page to behave differently when that parameter is in the URL