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

如何在Python中将含分数的DataFrame列转换为小数

解决方案

1. 提取分数部分

直接用str.split难以精准定位分数段,建议用正则提取的方式,从Rule列中抓取数字/数字格式的分数字符串:

df['fraction'] = df['Rule'].str.extract(r'(\d+/\d+)')

2. 分数转小数

对提取到的分数字符串拆分分子分母,转换为数值后做除法运算:

df['Rule Final'] = df['fraction'].apply(lambda x: int(x.split('/')[0]) / int(x.split('/')[1]))

完整代码示例

import pandas as pd

# 构造示例DataFrame
data = {
    'ID': [1233, 1235, 1236],
    'Rule': ['M-4/32', 'M-8/32', 'M-2/32'],
    'Postion': [516.00, 716.00, 816.00]
}
df = pd.DataFrame(data)

# 提取分数
df['fraction'] = df['Rule'].str.extract(r'(\d+/\d+)')
# 计算小数结果
df['Rule Final'] = df['fraction'].apply(lambda x: int(x.split('/')[0]) / int(x.split('/')[1]))
# 可选:删除中间辅助列
df = df.drop('fraction', axis=1)

print(df)

运行后输出的结果会完全匹配你预期的表格样式,Rule Final列会呈现对应的小数数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:01:08