次のような単位(畳)が入っている面積xから、,単位(畳)を除いた数値の変数spaceを作りたいと考えています。

import pandas as pd
import numpy as np
df = pd.DataFrame({'x': ['3畳', '4.5畳']})

次のような正規表現を使った場合には、

df["space"] = df["x"].str.extract(r'([0-9]*)畳')

次のように変換されます。(->は変換後を示します。)
3畳-> 3
4.5畳-> 5

小数点以下の場合を考慮した場合には、

df["space"] = df["x"].str.extract(r'([0-9]+\.[0-9]*)畳')

4.5畳のみしか変換されません。
3畳-> nan
4.5畳-> 4.5

次のように、変換させた変数spaceを作成したいです。
3畳-> 3
4.5畳-> 4.5

どなたか、ご教示頂けるとありがたいです。