我的代码如下:
s = pd.Series(['$2.75', np.nan, 4.150000, 25.00, '$4.50','k876','g67.3'])
strs = s.astype(str).str.replace("$", "").replace("k", "").replace("g", "")
#strs = s.astype(str).str.replace({'\$': '', ',': ''}, regex=True)
res = pd.to_numeric(strs, errors='coerce').fillna(0)
print(res)
我想输出应该是:
0 2.75
1 0.00
2 4.15
3 25.00
4 4.50
5 876
6 67.3
但实际上,第5行和第6行的结果是零
请帮忙指出错误。我感谢你的建议
在
replace
代码中使用regex=True
,如下所示输出
另一种解决方案是使用带有模式} :
([\d\.]+)
(一个或多个连续数字或.
)的^{[外]
另一种方法是使用
str.strip
或str.lstrip
Ex:
输出:
相关问题 更多 >
编程相关推荐