You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas将Ep、Sbolo列中的±误差值移至新列

解决方案

可以通过Pandas的字符串处理方法自动拆分Ep和Sbolo列中的数值与误差,无需手动操作。以下是具体实现代码:

核心代码

import pandas as pd

# 假设你的数据存储在名为df的DataFrame中
# 拆分Ep列,生成均值和误差列
df[['Ep_mean', 'Ep_err']] = df['Ep'].str.extract(r'([\d.]+)\s*±\s*([\d.]+)', expand=True)
# 拆分Sbolo列,生成均值和误差列
df[['Sbolo_mean', 'Sbolo_err']] = df['Sbolo'].str.extract(r'([\d.]+)\s*±\s*([\d.]+)', expand=True)

# 可选:将拆分后的列转换为数值类型(方便后续计算)
df[['Ep_mean', 'Ep_err', 'Sbolo_mean', 'Sbolo_err']] = df[['Ep_mean', 'Ep_err', 'Sbolo_mean', 'Sbolo_err']].astype(float)

代码说明

  • str.extract(r'([\d.]+)\s*±\s*([\d.]+)':通过正则表达式捕获两组内容,([\d.]+)匹配数值部分(包含数字和小数点),\s*±\s*匹配带可选空格的±符号,兼容"12.34±0.56"或"12.34 ± 0.56"这类常见格式。
  • expand=True:让提取结果以DataFrame形式返回,直接赋值给新列即可完成拆分。
  • 最后一行的astype(float)将拆分出的字符串类型数值转为浮点型,便于后续的数据分析或计算。

内容的提问来源于stack exchange,提问作者Alucard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 08:40:04