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

如何在Pandas链式操作中正确添加新列?

解决Pandas链式操作添加新列的问题

你的代码当前用逗号分隔操作,生成的是元组而非链式调用,导致.assign无法正确作用于DataFrame。正确的链式操作需要让每个方法都作用在前一步返回的DataFrame上,修改后的代码如下:

result = (
    df.drop(['Day_of_year', 'Month', 'Week_of_year'], axis='columns')
    # 将timestamp列转为datetime类型,用lambda引用当前链式中的DataFrame
    .assign(timestamp=lambda x: pd.to_datetime(x['timestamp']))
    # 添加名为random的新列,值为0
    .assign(random=0)
)

updated_df = result
updated_df

关键说明:

  • 移除逗号,用.连接每个方法调用,确保操作链的连续性
  • 使用lambda x在assign中引用当前链式步骤的DataFrame,避免依赖原始的df变量,更符合链式操作的逻辑
  • 最终result直接就是处理完成的DataFrame,无需再取元组元素

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:47:04