python - 根据另一列值更改 padas 中的值
问题描述
我想通过检查另一列中的值来更改熊猫列的值。示例数据如下所示:
datetime. column1 column2
2021-04-10. 1. 20
2021-04-11. 0. 21
2021-04-12. 0. 19
2021-04-13. 1. 12
对于第 1 列:当值为 0 时。条件应检查第 2 列的值是否超出 20-22 的范围,如果这是强制转换,则应将值从 0 重置为 1,否则保持为 0。
对于 Column1:当值为 1 时,不应采取任何操作,应始终返回 1。
预期输出如下:
datetime. column1 column2
2021-04-10. 1. 20
2021-04-11. 0. 21
2021-04-12. 1. 19
2021-04-13. 1. 12
解决方案
尝试:
df.loc[df['column1'].eq(0),'column1'] = 1-df['column2'].between(20,22).astype(int)
输出:
datetime. column1 column2
0 2021-04-10. 1.0 20
1 2021-04-11. 0.0 21
2 2021-04-12. 1.0 19
3 2021-04-13. 1.0 12
推荐阅读
- c - 在 c 中使用结构的地址和指针访问结构的第一个元素
- syntax-highlighting - TextMate 语法 - 避免外部“包含”覆盖本地模式
- android - 视频查看问题
- docker - 尝试通过 docker-compose 为 mariadb 运行迁移时出错
- amazon-web-services - 为什么组织是有益的?
- bash - SSH 和 CI 执行命令
- bash - 尝试始终从终端记录我的命令输出,但脚本命令正在循环
- r - 如何在动物园或 xts 上使用 na.fill 使用 maxgap?
- ansible - 如何以 yaml 格式殖民 Ansible 库存
- java - 解密已经加密的字符串