Which data science framework should I start learning?
Matplotlib is for visualization. Pandas is for handling data frames. Numpy is more matrix-oriented. I feel like a good starting point is numpy with the various casting/slicing functionalities and some libraries such as script/optimization. Matplotlib would help you “see” what you are doing. For data science specifically, data frames are easier to deal with and more affine to reality (they are tables), so pandas are more indicated for starting. For Machine Learning a good source is the book by Ageron on scikit learn and tensor flow. There you could see some applications of the various libraries. If instead, you want to see some hard theory, if I remember correctly  “statistical machine learning” is great as a book (don’t remember the author). I personally did a little bit of both and it ended up being useful. For basic models, it’s definitely better if you understand the theory first.