根据单元格在数据框中的位置选择/操作



我有一个如下的数据框架

A   B   C   D   E   F   G   H   I
1   2   3   4   5   6   7   8   9
1   2   3   4   5   6   7   8   9
1   2   3   4   5   6   7   8   9
1   2   3   4   5   6   7   8   9
1   2   3   4   5   6   7   8   9
1   2   3   4   5   6   7   8   9
1   2   3   4   5   6   7   8   9

我想将最后两行中第2列之后的每3列乘以5,得到如下输出:

如何做到这一点?

A   B   C   D   E   F   G   H   I
1   2   3   4   5   6   7   8   9
1   2   3   4   5   6   7   8   9
1   2   3   4   5   6   7   8   9
1   2   3   4   5   6   7   8   9
1   2   3   4   5   6   7   8   9
1   10  3   4   25  6   7   40  9
1   10  3   4   25  6   7   40  9

我可以用df.iloc[-2:,1::3]选择我需要的单元格这导致df如下所示,但我无法继续进行。

B   E   H
2   5   8
2   5   8

我知道我可以选择与loc而不是iloc相同的单元格,那么计算是直截了当的,但我无法弄清楚。列名&单元格值CANNOT因为这些变化(这里的df只是一个虚拟数据)

您可以像这样分配回相同的行/列选择:

df.iloc[-2:,1::3] = df.iloc[-2:,1::3].mul(5)
#alternative
#df.iloc[-2:,1::3] = df.iloc[-2:,1::3] * 5
print (df)
A   B  C  D   E  F  G   H  I
0  1   2  3  4   5  6  7   8  9
1  1   2  3  4   5  6  7   8  9
2  1   2  3  4   5  6  7   8  9
3  1   2  3  4   5  6  7   8  9
4  1   2  3  4   5  6  7   8  9
5  1  10  3  4  25  6  7  40  9
6  1  10  3  4  25  6  7  40  9

相关内容

  • 没有找到相关文章

最新更新