pandas 如何在现有DataFrame中添加新列?

4c8rllxm  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(132)

我尝试向现有的电影数据集添加一个合成数据列。这个新列是演员最近第二部电影的总收入。
例如:
| 影片|演员|收益| * 新建列**|
| - -|- -|- -|- -|
| A级|NIC固定架|七元|五元|
| B| NIC固定架|六元|4美元|
| C语言|NIC固定架|五元|- -|
| D级|NIC固定架|4美元|- -|
| E级|阿尔·帕西诺|3美元|1美元|
| F级|阿尔·帕西诺|2美元|- -|
| G级|阿尔·帕西诺|1美元|- -|
用python编写这个代码最有效的方法是什么?

6tdlim6h

6tdlim6h1#

假设电影已排序,请使用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          -

相关问题