Например, у меня есть df.
data = {'product': ['coca', np.nan, 'pepsi', 'pepsi', 'orange',],
'price': [25, 94, 57, 62, 70,],
'company':[np.nan,'coca-cola',np.nan,np.nan,np.nan,]}
df = pd.DataFrame(data)
OUT:
company price product
0 NaN 25 coca
1 coca-cola 94 NaN
2 NaN 57 pepsi
3 NaN 62 pepsi
4 NaN 70 orange
Я хочу заполнить тип объекта значением в соответствующих столбцах.
Ожидаемый результат:
df
company price product
0 coca-cola 25 coca
1 coca-cola 94 coca
2 coca-cola 57 pepsi
3 coca-cola 62 pepsi
4 coca-cola 70 orange
Я пытаюсь сделать следующее:
for col in df:
#get dtype for column
dt = df[col].dtype
#check if it is a number
if dt == int or dt == float:
pass
else:
df[col].fillna(df[col][0])
Но df[col][0]
может быть Nan, поэтому я должен заполнить значение, которое не nan
.Так как это сделать?