如何将行的最后n个值替换为零

问题描述 投票:0回答:2

我想用零替换一列的最后2个值。我知道NaN值可以使用.fillna(0),但我也想替换最后一列的第6行值。

Weight  Name    Age d_id_max    
0   45  Sam     14  2   
1   88  Andrea  25  1   
2   56  Alex    55  1   
3   15  Robin   8   3   
4   71  Kia     21  3   
5   44  Sia     43  2   
6   54  Ryan    45  1   
7   34  Dimi    65  NaN 

df.drop(df.tail(2).index,inplace = True)

 Weight Name    Age  d_id_max   
0   45  Sam     14  2   
1   88  Andrea  25  1   
2   56  Alex    55  1   
3   15  Robin   8   3   
4   71  Kia     21  3   
5   44  Sia     43  2   
6   54  Ryan    45  0
7   34  Dimi    65  0
pandas
2个回答
0
投票

尝试.ilocget_loc

df.iloc[[-1,-2], df.columns.get_loc('d_id_max')] = 0

Out[232]:
   Weight    Name  Age  d_id_max
0      45     Sam   14       2.0
1      88  Andrea   25       1.0
2      56    Alex   55       1.0
3      15   Robin    8       3.0
4      71     Kia   21       3.0
5      44     Sia   43       2.0
6      54    Ryan   45       0.0
7      34    Dimi   65       0.0

0
投票

您可以使用:

df['d_id_max'].iloc[-2:] = 0



    Weight    Name  Age  d_id_max
0      45     Sam   14       2.0
1      88  Andrea   25       1.0
2      56    Alex   55       1.0
3      15   Robin    8       3.0
4      71     Kia   21       3.0
5      44     Sia   43       2.0
6      54    Ryan   45       0.0
7      34    Dimi   65       0.0
© www.soinside.com 2019 - 2024. All rights reserved.