首页 > 解决方案 > 在 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

谢谢

标签: pythonpython-3.xdataframe

解决方案


如果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

推荐阅读