如何从含文本的列中提取指定汇率,缺失时使用其他列的float数值
汇率提取与缺失值填充方案
默认你使用Python的pandas库处理结构化数据集,按以下步骤操作即可:
- 第一步:从文本列提取汇率值
用正则精准匹配汇率位置,替换示例代码中的列名对应你的实际数据集即可:# 假设存储混合文本的列名为text_col df['extracted_rate'] = df['text_col'].str.extract( r'exchange rate of \*\* (\d+\.?\d*) \*\*', expand=False ).astype(float) - 第二步:填充无汇率行的缺失值
直接用你准备好的另一列float值填充提取结果的空值即可:# 假设用来填充缺失值的float列名为backup_rate df['extracted_rate'] = df['extracted_rate'].fillna(df['backup_rate'])
格式适配说明
如果你的文本里汇率前后的星号数量、空格数量不固定,可以把正则调整为下面的版本,适配更多不规范格式:r'exchange rate of\s*\**\s*(\d+\.?\d*)\s*\**'
该正则会自动忽略exchange rate of和数值之间的任意空格、星号,提取结果更稳定。
内容的提问来源于stack exchange,提问作者perico
相关产品推荐
相关产品推荐

