Вам не нужно вносить полный импорт Sklearn, чтобы просто вычислить пару столбцов.Вы можете сделать это исключительно в самой Панде, используя fillna
.
import pandas as pd
import numpy as np
df = pd.DataFrame(data={
'Country': [
'France',
'Spain',
'Germany',
'Spain',
'Germany',
'France',
'Spain',
'France',
'Germany',
'France'
],
'Age': [
44,
27,
30,
38,
40,
35,
np.nan,
48,
50,
37
],
'Salary': [
72000,
48000,
54000,
61000,
np.nan,
58000,
52000,
79000,
83000,
67000
],
'Purchased': [
'No',
'Yes',
'No',
'No',
'Yes',
'Yes',
'No',
'Yes',
'No',
'Yes'
]
})
df['Age'] = df['Age'].fillna(value=df['Age'].median())
df['Salary'] = df['Salary'].fillna(value=df['Salary'].median())
print(df)
и это даст вам:
Age Country Purchased Salary
0 44.0 France No 72000.0
1 27.0 Spain Yes 48000.0
2 30.0 Germany No 54000.0
3 38.0 Spain No 61000.0
4 40.0 Germany Yes 61000.0
5 35.0 France Yes 58000.0
6 38.0 Spain No 52000.0
7 48.0 France Yes 79000.0
8 50.0 Germany No 83000.0
9 37.0 France Yes 67000.0