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

pandas基于输入动态构造含静态列与动态position列的DataFrame方法

问题解决方法

报错根因

你初始化的filtered_positions_df是没有任何行的空DataFrame,直接调用iloc[-1]读取最后一行会触发索引越界错误。此外你原写法直接将position Series传入字典,append操作只会生成1行,无法实现一个position值对应一行的需求,同时pandas已废弃append方法,不推荐继续使用。

通用实现方案

无论position序列长度是1还是多个,都可以直接通过构造新DataFrame片段再合并的方式实现,固定值列会自动广播匹配行数:

import pandas as pd

# 你计算得到的position序列,这里是示例值,可替换为你的实际计算逻辑输出
position_series = pd.Series([10, 2, 3])
# 初始化结果DataFrame
filtered_positions_df = pd.DataFrame(columns=['status', 'position', 'presence_check'])

# 构造新增数据:固定列直接赋值标量,pandas会自动匹配position的行数填充
add_df = pd.DataFrame({
    "status": "Pass",
    "position": position_series,
    "presence_check": "Y"
})

# 合并到结果表,ignore_index保证行号连续
filtered_positions_df = pd.concat([filtered_positions_df, add_df], ignore_index=True)

输出的filtered_positions_df就和你预期的结构完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:45:05