如何从评级列筛选两位数并将其转换为小数格式?
仅将两位数评级转换为小数的解决方案
Python(Pandas)实现
如果用Pandas处理数据集,假设列名为rating,可以通过条件判断精准处理:
import pandas as pd # 构造示例数据 df = pd.DataFrame({'rating': [5, 4, 36, 45, 87]}) # 仅对两位数(>=10)执行除以10的操作 df['rating'] = df['rating'].apply(lambda x: x / 10 if x >= 10 else x) # 输出处理后的结果 print(df['rating'].tolist()) # 结果:[5, 4, 3.6, 4.5, 8.7]
因为评级正常范围是0-5,所以两位数必然是输入错误的目标值,用x >=10可以准确筛选出需要修正的数值。
Excel公式实现
假设评级数据在A列,在B列输入以下公式并下拉填充:
=IF(A1>=10, A1/10, A1)
公式逻辑:判断单元格数值是否为两位数,是则除以10转换为小数,否则保留原数。
SQL实现
如果数据存储在数据库中,使用CASE语句完成修正:
SELECT CASE WHEN rating >= 10 THEN rating / 10.0 ELSE rating END AS corrected_rating FROM ratings;
使用10.0确保除法结果为小数类型,避免整数除法导致的精度丢失。
内容的提问来源于stack exchange,提问作者Jahnvi_tarun
相关产品推荐
相关产品推荐

