What are the different imputation techniques in Scikit-learn for handling missing values?

I learned that dealing with missing values is a common and crucial problem in data analysis and machine learning and ignoring these missing values can lead to biased or inaccurate results. I came across a dataset that has missing values in its columns and I wanted to train a model on this data, but I do not know how to deal with these missing values. Can anyone please provide me with different techniques for doing this? I am attaching some code snippets in which I have imported a sample dataset and split it into training and testing sets, you can continue onwards and apply the techniques on this code.

Sample dataset:

Splitting the dataset: