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

如何为现有DataFrame添加演员次新电影票房的合成列(Python)

Python实现添加演员第二新电影票房列的高效方案

核心思路

用Pandas的分组(groupby)和位移(shift)操作实现,这是处理结构化数据的高效方式,避免循环带来的性能损耗。

步骤说明

  1. 数据预处理(排序)
    首先确保每个演员的电影按上映时间从新到旧排序。如果数据集已有ReleaseDate(上映日期)列,执行以下代码:

    import pandas as pd
    
    # 假设数据集存储在df中,包含Movie, Actor, Revenue, ReleaseDate列
    df = df.sort_values(by=['Actor', 'ReleaseDate'], ascending=[True, False])
    

    如果数据已经按要求排好序,可以跳过此步骤。

  2. 生成目标列
    通过分组后位移2位,获取每个演员当前电影之后第2部电影的票房,最后将空值替换为'-':

    # 按Actor分组,对Revenue列执行shift(2),得到第二新电影的票房
    df['New Column'] = df.groupby('Actor')['Revenue'].shift(2)
    # 将空值替换为'-'
    df['New Column'] = df['New Column'].fillna('-')
    

验证结果

运行上述代码后,你的数据集会生成符合示例要求的New Column列:

MovieActorRevenueNew Column
ANic Cage$7$5
BNic Cage$6$4
CNic Cage$5-
DNic Cage$4-
EAl Pacino$3$1
FAl Pacino$2-
GAl Pacino$1-

性能说明

Pandas的groupby和shift都是基于向量化操作实现的,比手动遍历每个演员的电影列表效率高得多,尤其在处理大规模数据集时优势明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 19:20:47