Python 按组将每行减少上一行的百分比
我有如下数据: 季节 运动员 会议记录 1. 布莱恩特 700 2. 布莱恩特 700 3. 布莱恩特 700 4. 布莱恩特 700 1. 皮尔斯 750 2. 皮尔斯 750 3. 皮尔斯 750Python 按组将每行减少上一行的百分比,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
尝试使用创建一系列保留百分比
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