我正在嘗試將合成資料列添加到現有的電影資料集中。這個新列是演員最近第二部電影的總收入。
例如:
| 電影 | 演員 | 收入 | 新專欄* |
|---|---|---|---|
| 一個 | 尼克凱奇 | 7美元 | 5美元 |
| 乙 | 尼克凱奇 | 6美元 | 4美元 |
| C | 尼克凱奇 | 5美元 | - |
| 丁 | 尼克凱奇 | 4美元 | - |
| 乙 | 艾爾·帕西諾 | 3美元 | 1美元 |
| F | 艾爾·帕西諾 | $2 | - |
| G | 艾爾·帕西諾 | 1美元 | - |
在 python 中撰寫此代碼的最有效方法是什么?
uj5u.com熱心網友回復:
假設電影已排序,請使用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 -
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/534360.html
標籤:Python熊猫特征工程
上一篇:來自繼承類的變數型別
