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

如何将字符串格式数值区间转换为浮点/整数类型的平均值?

解决方案

假设你的数据已经加载到 Pandas 的 DataFrame(命名为df)中,可通过以下步骤实现需求:

  • 拆分range列的区间值:用str.split方法将字符串按-分割为两列,转换为数值类型
  • 计算区间平均值:对拆分后的两列取行均值,生成mean列
  • 保留原range列:直接新增计算结果列即可,无需删除原列

完整代码示例

import pandas as pd

# 构造示例数据(如果已有DataFrame可跳过此步)
data = {
    'datetime': ['2022-10-10', '2022-10-12'],
    'range': ['50-54', '30-36']
}
df = pd.DataFrame(data)

# 拆分range列并计算均值
df[['low', 'high']] = df['range'].str.split('-', expand=True).astype(float)
df['mean'] = df[['low', 'high']].mean(axis=1)

# 可选:删除临时生成的low和high列
df = df.drop(['low', 'high'], axis=1)

print(df)

代码说明

  1. 拆分并转类型:str.split('-', expand=True)将每个区间字符串拆分为两列,astype(float)把文本转为数值类型,确保能执行数学运算
  2. 计算行均值:mean(axis=1)对每行的上下限取值平均,得到区间中间值
  3. 清理临时列:若不需要拆分出的low和high列,用drop方法删除即可

执行后输出结果:

datetime  range  mean
0  2022-10-10  50-54  52.0
1  2022-10-12  30-36  33.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:15:34