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

Pandas数据清洗:移除面积列单位并转换sot单位数值

处理房屋面积数据的两种实用方法

针对你需要清洗的Sahə列,这里提供两种直接落地的实现方式:

方法一:拆分数字与单位后批量计算

这种方法适合数据格式规整的场景(所有行都是「数字+空格+单位」的结构),运行效率更高:

import pandas as pd

# 从字符串中提取数字和单位两部分
df[['数值', '单位']] = df['Sahə'].str.extract(r'(\d+(?:\.\d+)?) (m²|sot)')

# 将数值转为浮点型,根据单位计算最终统一为平方米的面积
df['清洗后面积(㎡)'] = df['数值'].astype(float) * df['单位'].map({'m²': 1, 'sot': 100})

# 可选:删除中间生成的临时列
df = df.drop(['数值', '单位'], axis=1)

方法二:逐行处理(适配特殊格式)

如果数据中存在少量格式不统一的行,用apply逐行处理会更灵活:

def 转换面积(面积字符串):
    # 拆分数字和单位
    数字部分, 单位部分 = 面积字符串.split()
    数字 = float(数字部分)
    # 根据单位返回对应数值
    return 数字 * 100 if 单位部分 == 'sot' else 数字

df['清洗后面积(㎡)'] = df['Sahə'].apply(转换面积)

补充说明

  • 两种方法都能自动将sot单位的数值乘以100,同时保留m²的原数值,最终得到统一的平方米数值。
  • 如果数据里包含小数(比如12.5 sot),代码也能正常处理,因为用了float类型转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 02:57:50