都能学 2022-02-06 14:14 采纳率: 80%
浏览 56
已结题

python怎么把excel中的等级化为分数

我要进行文字描述的数值化,要把风险等级这一列的等级转化为相应的分数,非常危险-9.5分,危险-7.5分,中等-5分,轻微-2.5分,非常轻微-0.5分,python代码要怎么写,能详细一点吗

img

  • 写回答

3条回答 默认 最新

  • ENGineer_zlshuo 2022-02-06 15:44
    关注

    同1楼的意见,可以通过字典,再利用几个库,然后再看情况慢慢优化代码,以下粗略的可以参考一下

    img

    import pandas as pd
    from openpyxl import load_workbook
    
    filename = 'C:/Users/Administrator/PycharmProjects/EXCELread/test.xlsx'  # 你想要读取的文件路径名
    dict_trans = {'非常危险': '9.5分', '危险': '7.5分', '中等': '5分', '轻微': '2.5分', '非常轻微': '0.5分'}  # 创建字典,为后续转换做准备
    
    df = pd.read_excel(filename, sheet_name='转化')  # 读取excel文件为df(DataFrame),假设所在的sheet为‘转化’
    for key in dict_trans:
        df['风险等级'].replace(key, dict_trans[key], inplace=True)  # 在'风险等级'列,根据字典dict_trans进行替换
    
    # 以下为仅修改‘风险等级’的内容,不会修改excel文件的其他部分
    book = load_workbook(filename)
    writer = pd.ExcelWriter(filename, engine='openpyxl')
    writer.book = book
    writer.sheets = {ws.title: ws for ws in book.worksheets}
    df.to_excel(writer, sheet_name='转化', index=False)  # 仅在sheet_name='转化',即sheet‘转化’进行修改转化
    writer.close()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 2月6日

悬赏问题

  • ¥15 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂