Вот мое решение, вы можете скопировать и вставить его для использования:
df['Rate_New'] = df.Rate.apply(lambda x: float(x.replace("$","").replace("/Wh","")))
Или это, без применения, без атрибута:
df["Rate"].str.replace("$","").str.replace("/Wh","")
Вот версия с использованием регулярных выражений , стиль атрибута не применяется.
repl = lambda m: m.group(1)
df["Rate"].str.replace(r'\$(.+?)\/Wh', repl, regex=True)