Python如何根据某列的数值生成对应数量的多行数据
Python按车型推荐数量生成对应数据行实现方法
核心思路非常直接:拿到每一组任务的公共信息(路线、日期等固定字段)和车型推荐计数结果后,按每个车型的推荐台数重复生成对应行数,每行仅替换车型字段值即可。
以下是可直接复用的实现代码,基于表格处理最常用的pandas编写:
import pandas as pd # 单组任务的公共固定信息,可根据你的实际字段增删 base_data = { "route": "广州-深圳", "delivery_date": "2024-06-20", "total_goods_vol": 96.2 } # 车型推荐计数结果:键为车型名称,值为推荐的车辆台数 recommend_result = {"type_1": 4, "type_3": 1} output_rows = [] # 遍历每个车型的推荐数量 for vehicle_type, num in recommend_result.items(): # 需要几台就生成几行 for _ in range(num): current_row = base_data.copy() current_row["vehicle type"] = vehicle_type output_rows.append(current_row) # 转换为表格结构,直接导出excel/csv都可以 final_df = pd.DataFrame(output_rows) print(final_df)
运行上述代码后,会得到共5行结果:前4行vehicle type字段值为type_1,最后1行值为type_3,路线、配送日期、货量等公共字段所有行完全一致,完全匹配需求。
如果是批量处理多组不同路线/日期的任务,只需要在外层加一层循环,逐组传入对应公共信息和车型推荐结果即可。
内容的提问来源于stack exchange,提问作者Vitor Assuena
相关产品推荐
相关产品推荐

