Yes. I'm assuming you want to use python libraries to process the data, you can use a javascript interpreter such as Brython to run python client side in the browser.
However. I would recon the main part of such a project would be overcomming techincal difficulties getting all the technology working together, rather than coding the features of your app.
A faster solution would be to distribute a non web python application, or upload the file for processing on the server as you outline.
regarding the undo problem, I would simply store copies of the data at the various steps if you are only working on a small sample subset.
Otherwise, there is the command pattern. Store each step as a Command object, remeberremember the order and which step the user is on, and you can rerun the steps on the data to get to the required step