Duas formas bem parecidas com a do professor p/ conversão seria usar a função col ao invés do dataframe fazendo cast do campo de duas formas:
empresas = empresas.withColumn('capital_social_da_empresa',f.col('capital_social_da_empresa').cast("double"))
empresas = empresas.withColumn('capital_social_da_empresa',f.col('capital_social_da_empresa').cast(DoubleType()))
Abs