При конвертации из типа расширения, например pd.Int32Dtype(), я получаю TypeError: data type not understood. Пример:
pd.Int32Dtype()
TypeError: data type not understood
num_col_with_nan = num_col_with_nan.astype(pd.Int32Dtype()).astype("string")
Приведение между типами расширений пока не поддерживается - см. # 22384 для общего обзора и # 31204 для StringDtype в частности.
В качестве обходного пути попробуйте приведение в первую очередь:
num_col_with_nan = num_col_with_nan.astype(pd.Int32Dtype()).astype(str).astype("string")