我有一个名为Rate的列,如下所示。我要做的就是创建一个新列Rate_New,该列仅从Rate中提取数字部分,即0.25。怎么做?谢谢!!
import pandas as pd
df = pd.DataFrame({'Rate':['$0.25/Wh', '$0.25/Wh', '$0.25/Wh', '$0.25/Wh']})
df
这是我的解决方案,您可以复制并粘贴以使用它:
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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句