简体   繁体   English

如何将新列添加到现有的 DataFrame 中?

[英]How to add a new column into an existing DataFrame?

I am trying to add a synthetic data column to the existing the movies dataset.我正在尝试将合成数据列添加到现有的电影数据集中。 This new column is the gross revenue of an actor's second most recent movie.这个新列是演员最近第二部电影的总收入。

For example:例如:

Movie电影 Actor演员 Revenue收入 New Column *新专栏*
A一种 Nic Cage尼克凯奇 $7 7美元 $5 5美元
B Nic Cage尼克凯奇 $6 6美元 $4 4美元
C C Nic Cage尼克凯奇 $5 5美元 - -
D Nic Cage尼克凯奇 $4 4美元 - -
E Al Pacino艾尔·帕西诺 $3 3美元 $1 1美元
F F Al Pacino艾尔·帕西诺 $2 $2 - -
G G Al Pacino艾尔·帕西诺 $1 1美元 - -

What is the most efficient way to code this in python?在 python 中对此进行编码的最有效方法是什么?

Assuming the movies are sorted, use groupby.shift假设电影已排序,请使用groupby.shift

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

Output: Output:

  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          -

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM