python - 在 Pandas DataFrame 中使用条件语句派生具有特定值的新列
问题描述
我有一个这样的数据集
ID Status
1 Completed
2 Completed
3 Cancelled
4 Cancelled
5 Not Available
6 Not Available
我想创建新列并将值 1 放在状态完成的任何地方
ID Status Supply
1 Completed 1
2 Completed 1
3 Cancelled
4 Cancelled
5 Not Available
6 Not Available
谢谢
解决方案
如果df
是你的 DataFrame
Status
ID
0 Completed
1 Completed
2 Cancelled
3 Cancelled
4 Not available
5 Not available
用于df["Status"] == "Completed"
查找满足条件的行,然后使用 将布尔值转换为整数.astype(int)
。
df["Supply"] = (df["Status"] == "Completed").astype(int)
结果是
Status Supply
ID
0 Completed 1
1 Completed 1
2 Cancelled 0
3 Cancelled 0
4 Not available 0
5 Not available 0
推荐阅读
- git - 有什么方法可以将本地 git-p4 存储库连接到远程 git 存储库,同时保持与 p4 仓库的连接?
- google-vision - 使用没有文件扩展名的图像将训练数据导入 CloudML
- c# - 空游戏对象未停用
- spring - 保护刚刚暴露端点的 Spring Boot
- python - 如何仅使用 GridSearchCV 进行简单的交叉验证
- javascript - 使用节点创建服务器时出现问题,出现“TypeError: Cannot read property 'db' of null”
- sql - What is the correct way of inserting values in to tables and link tables in oracle?
- sql - 如何将数据从一个 Azure 数据库表复制到另一个 Azure 数据库表并转换数据类型?
- reactjs - 没有 thunk 的 redux-promise-middleware 错误处理
- mysql - TypeORM 批量创建与关系