我有一个带有两个奇怪字符的数据帧,“*”和“-”。在
import pandas as pd
import numpy as np
data = {'year': [2010, 2011, 2012, 2011, 2012, 2010, 2011, 2012],
'team': ['Bears', 'Bears', 'Bears', 'Packers', 'Packers', 'Lions', 'Lions', 'Lions'],
'wins': [11, '*', 10, '-', 11, 6, 10, 4],
'losses': [5, 8, 6, 1, 5, 10, 6, 12]}
football = pd.DataFrame(data, columns=['year', 'team', 'wins', 'losses'])
我想用'0.00'替换奇怪的字符,但是我得到一个错误-
^{pr2}$我知道这与regex有关,但我仍然不知道如何克服这个问题。在
我用来替换字符的代码:
football.replace(['*','-'], ['0.00','0.00'], regex=True).astype(np.float64)
*
是正则表达式中的一个特殊字符,必须对其进行转义:或者使用字符类:
^{pr2}$你可以在dict理解中使用列表理解来实现这一点
这样做是为了在生成
DataFrame
之前清理data
。在做
也就是说,对于只匹配一个字符或另一个字符的简单情况,不需要使用正则表达式
或者,如果您想使用正则表达式,请注意}的值,请使用
^{pr2}$*
是一个特殊字符;如果您想完全匹配'*'
或{相关问题 更多 >
编程相关推荐