pandas提取盘口数据时如何调整正则,用同列前2位填充提取到的NaN值
你的原有正则存在两处逻辑问题:
- 包含不必要的
A-Z匹配规则,盘口数值不会出现字母,会干扰正常匹配 - 固定长度的匹配规则无法适配1位整数、2位整数、带小数的不同长度盘口场景,导致整数让分提取异常
调整后的代码如下:
df['Away Spread'] = df['Open'].str.extract(pat=r'^([+-]?\d+\.?\d*)').astype(float)
该正则从字符串开头匹配规则为:可选的正负号 + 至少1位整数 + 可选的小数点及小数位,可覆盖所有常规盘口的数值格式,无需额外fillna补全逻辑。提取后直接输出浮点型数据,方便你后续取反计算主场让分。
内容的提问来源于stack exchange,提问作者RookiePython
相关产品推荐
相关产品推荐

