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

如何将Pandas DataFrame列末尾x行求和结果更新至空DataFrame

问题原因

你初始化的df_new_final_tail是没有任何行的空DataFrame,直接对整列赋值标量sum_x时,Pandas没有匹配的行索引可以写入值,因此赋值操作不会实际生效,最终DataFrame依然为空。

解决方法

方法1:推荐写法(无需循环,代码更简洁高效)

直接对df_new_final的末尾15行求和,再处理列名匹配后直接生成目标DataFrame即可:

import pandas as pd

# 1. 先取末尾15行,直接对所有需要的列求和
tail_15_sum = df_new_final[[col + '_buy' for col in df_series.columns]].tail(15).sum()
# 2. 重置列名为你需要的名称,转成DataFrame后转置,行索引可自定义
df_new_final_tail = tail_15_sum.rename(lambda x: x.replace('_buy', '')).to_frame().T

方法2:修改原有循环的写法

如果要保留你原来的循环逻辑,可以先把所有求和结果存入字典,再一次性生成DataFrame:

df_series_list = df_series.columns.values.tolist() 
sum_dict = {}
for items in df_series_list:
    sum_dict[items] = df_new_final.tail(15)[items+'_buy'].sum()
# 把字典转为DataFrame,单个字典会生成1行数据的df
df_new_final_tail = pd.DataFrame([sum_dict])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:27:04