python - 根据单元格在数据框中的位置选择/操作单元格
问题描述
我有一个如下的数据框
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 行中的 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
,然后计算是向前的,但我无法弄清楚。由于这些变化,列名和单元格值不能使用(这里的 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
推荐阅读
- javascript - 帖子提到使用 Discord.js 嵌入的用户头像
- java - 如何在listview android中获取列的总和?
- javascript - NPM 依赖版本标记为 *
- c# - 将多个不同类型的 lambda 表达式组合成一个表达式
- html - 使用 AT 命令向服务器发送 GET 请求时出现 400 错误
- prometheus - Prometheus 查询过滤器不适用于 OR 过滤器
- scala - 如何使用属性值在 Scala 中声明 KafkaListener 的主题
- python - Keras 神经网络为所有输入预测相同的数字
- javascript - Qr Scanner - Angular.Child 组件 -qr.component 包含在父组件中的输入(ngx-barcode-scanner),关闭相机事件不起作用
- javascript - 如何从具有多个键的 json 对象中收集数据并将所有值推送到单个键:值数组