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

如何修改Python代码将DataFrame多行结果合并为一个长列表

修改后的代码(合并为长列表输出)
Expentidure_rate = 0.5
Battery_Size = 100 

cols = ["Vehicle", "Expenditure", "Battery_State"]
# 初始化空列表存储所有记录
V1_records = []

i = 0
# 增加索引边界判断,避免越界报错
while i < len(Updated_DOBS_SUN) and Updated_DOBS_SUN.iloc[i]["Vehicle"] == "V1":
    V1_Battery_Expenditure = Updated_DOBS_SUN.iloc[i]["Distance"] * Expentidure_rate
    V1_Battery_State = Battery_Size - V1_Battery_Expenditure
    Battery_Size = V1_Battery_State
    i += 1
    
    # 将当前行数据以字典形式存入列表
    V1_records.append({
        "Vehicle": "V1",
        "Expenditure": V1_Battery_Expenditure,
        "Battery_State": V1_Battery_State
    })

# 把所有记录合并成一个DataFrame
V1_distance_reel = pd.DataFrame(V1_records, columns=cols)
print(V1_distance_reel)

关键改动说明

  • 提前创建空列表V1_records,循环中只收集每行的字典数据,避免反复创建小DataFrame,提升效率。
  • 循环条件补充i < len(Updated_DOBS_SUN),防止遍历到最后一行时出现索引越界错误。
  • 移除原代码中冗余的单行DataFrame创建和for循环,直接用字典存储数据更简洁。
  • 循环结束后统一生成完整的DataFrame,一次性输出合并后的长列表结果。

注:原代码中Expentidure_rate存在拼写错误,正确应为Expenditure_rate,若有需要可修正该拼写。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 03:45:08