Python 按组将每行减少上一行的百分比

Python 按组将每行减少上一行的百分比,python,pandas,dataframe,Python,Pandas,Dataframe,我有如下数据: 季节 运动员 会议记录 1. 布莱恩特 700 2. 布莱恩特 700 3. 布莱恩特 700 4. 布莱恩特 700 1. 皮尔斯 750 2. 皮尔斯 750 3. 皮尔斯 750 尝试使用创建一系列保留百分比 df: season player minutes 0 1 K. Bryant 700 1 2 K. Bryant 630 2 3 K. Bryant 567 3 4

我有如下数据:

季节 运动员 会议记录 1. 布莱恩特 700 2. 布莱恩特 700 3. 布莱恩特 700 4. 布莱恩特 700 1. 皮尔斯 750 2. 皮尔斯 750 3. 皮尔斯 750
尝试使用创建一系列保留百分比

df

   season     player  minutes
0       1  K. Bryant      700
1       2  K. Bryant      630
2       3  K. Bryant      567
3       4  K. Bryant      510
4       1  P. Pierce      750
5       2  P. Pierce      675
6       3  P. Pierce      608
df['keep_pct']

0    1.000
1    0.900
2    0.810
3    0.729
4    1.000
5    0.900
6    0.810
Name: keep_pct, dtype: float64

下面是一个简单的解决方案,利用数据帧的排序方式:

范围内的i(1,len(df)):
如果df.player[i]==df.player[i-1]:
df.loc[i,‘分钟’]=0.9*df.loc[i-1,‘分钟’]
df

让我们看看你到目前为止做了什么。
0    1.000
1    0.900
2    0.810
3    0.729
4    1.000
5    0.900
6    0.810
Name: keep_pct, dtype: float64
    season  player  minutes
0   1   K. Bryant   700.0
1   2   K. Bryant   630.0
2   3   K. Bryant   567.0
3   4   K. Bryant   510.3
4   1   P. Pierce   750.0
5   2   P. Pierce   675.0
6   3   P. Pierce   607.5