从部分列数据框熊猫中减去单个值

时间:2018-10-09 19:18:50

标签: python pandas dataframe

我有一个像这样的表

username    result  sum
user_c  0.20    10
user_a  0.70    100
user_b  0.40    100
user_l  0.43    120
user_e  0.30    130
user_j  0.72    130
user_f  0.25    140
user_h  0.47    140
user_k  0.65    150
user_g  0.43    170
user_d  0.60    200

我想从列 sum 中减去2,但仅从第二行到第五行,我该怎么做?

2 个答案:

答案 0 :(得分:2)

IUC:

df.iloc[1:5,2] = df.iloc[1:5,2] - 2

输出:

 username  result  sum
0    user_c    0.20   10
1    user_a    0.70   98
2    user_b    0.40   98
3    user_l    0.43  118
4    user_e    0.30  128
5    user_j    0.72  130
6    user_f    0.25  140
7    user_h    0.47  140
8    user_k    0.65  150
9    user_g    0.43  170
10   user_d    0.60  200

答案 1 :(得分:2)

您可以尝试以下方法:

df.iloc[2:6] = df.iloc[2:6]['sum'].apply(lambda x: x - 2)

此切片还将包括您的第五行。如果您不想包括第5行,则必须切片df.iloc[2:5]