所以我有电影名称,日期,收入累积的数据集。同一部电影有多行,并且有一列显示累计收入。我想提取某部电影的最新累计收入,并新建一个列,然后将提取的值插入某部电影的第一行。 例如,我想知道如何提取电影“ a”的最后一次收入,电影“ b”的最后一次收入..并将这些值插入每部电影的新列的第一行中。因此,在图片中,这将是电影a的D2,电影33的D33等...
df['Date'] = pd.to_datetime(df['Date'])
df = df.sort_values('Date')
df.groupby('Movie name')['Revenue accumulated'].last()
答案 0 :(得分:0)
您可以执行以下操作。但我建议您将其替换为np.nan
(即不为空白),因为这应该是最后的数字列。
def get_last_as_first(grp):
return pd.Series([grp.iloc[-1]] + [np.nan]*(grp.shape[0]-1))
df['Date'] = pd.to_datetime(df['Date'])
df = df.sort_values('Date')
new_col = df.groupby('Movie name')['Revenue accumulated'].transform(get_last_as_first)