I am working on your question now and I should have something in a little bit that serves as an example.
Just use and replace with NaN.
Numpy isn't installing on my windows box, so I have to find another way to solve the problem.
Try this out and let me know how it works for you. I had to name the file .txt to attach it, but just change the extension to .py and run.
Let me look at this. Sorry for the delayed response, I'm in the US on the east coast and I had to call it a night so I could get some sleep.
Okay, I think I answered all of your questions. I updated the comments in the python code, defined your matrix, replaced the column for the minimum value with 0 in all rows. I added printing the updated matrix so that you can see the 0s. I also changed the min function and included a filter argument so it will find the minimum value greater than 0, that why once you have a match when you replace the column values for the match with a 0. I also moved where the row is printed, so instead of seeing the 0 or NaN that was replaced, it shows the row so you can verify it found the minimum value, and then it prints the whole matrix to show the column replacements. Ask more questions if you have them. I attached the file with a .txt again, JustAnswer filters file types and .py is not allowed neither is .cpp or .c or .h or .m, it just gets annoying sometimes.
I think the none NaN replacement the second time was the equality operator on NaN. NaN is nothing so it both is equal and not equal. I have python 2.7.12, which is better, but NaN is still a newer concept to the language, relatively. Numpy handles it, but then you have to have numpy, and it really is better to solve in the base language if possible so that it is more portable and has fewer dependencies. Using 0s and a filter works better and is what you want anyways. Thanks for working with me.
Anytime, glad I was able to help you with your question.