【问题标题】:How to add a new column into an existing DataFrame?如何将新列添加到现有 DataFrame 中?
【发布时间】:2022-11-16 12:21:49
【问题描述】:

我正在尝试将合成数据列添加到现有的电影数据集中。这个新列是演员最近第二部电影的总收入。

例如:

Movie Actor Revenue New Column*
A Nic Cage $7 $5
B Nic Cage $6 $4
C Nic Cage $5 -
D Nic Cage $4 -
E Al Pacino $3 $1
F Al Pacino $2 -
G Al Pacino $1 -

在 python 中编写此代码的最有效方法是什么?

【问题讨论】:

  • 这看起来像家庭作业。你能给我们你最好的尝试,我们可以提出建议吗?
  • 第二最近?我在这里看不到任何日期。

标签: python pandas


【解决方案1】:

假设电影已排序,请使用groupby.shift

df['New Column'] = df.groupby('Actor')['Revenue'].shift(-2, fill_value='-')

输出:

  Movie      Actor Revenue New Column
0     A   Nic Cage      $7         $5
1     B   Nic Cage      $6         $4
2     C   Nic Cage      $5          -
3     D   Nic Cage      $4          -
4     E  Al Pacino      $3         $1
5     F  Al Pacino      $2          -
6     G  Al Pacino      $1          -

【讨论】:

  • 太感谢了!我在脑海里把它复杂化了
猜你喜欢
  • 2020-03-16
  • 1970-01-01
  • 2015-10-15
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 2018-07-27
  • 1970-01-01
相关资源
最近更新 更多