Pandas Dataframe:更新特定列中最后n行的值

时间:2019-03-23 17:38:26

标签: python pandas dataframe

在下面的示例中,我想将最后3行的C列更新为值0。

源数据框

A B C D E
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5

目标数据框

A B C D E
1 1 1 1 1
2 2 2 2 2
3 3 0 3 3
4 4 0 4 4
5 5 0 5 5

我尝试过类似的

df.tail(3)['C']=0

但不起作用。有想法吗?

2 个答案:

答案 0 :(得分:2)

你可以满足

df.loc[df.tail(3).index, 'C'] = 0

答案 1 :(得分:0)

您可以使用:

df.iloc[-3:]['C'] = 0

输出:

   A  B  C  D  E
0  1  1  1  1  1
1  2  2  2  2  2
2  3  3  0  3  3
3  4  4  0  4  4
4  5  5  0  5  5

其他方式:

df[-3:]['C'] = 0