outer is a LEFT OUTER JOIN.
outer
You want how = 'full'
how = 'full'
https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.join.html