Python 在DataFrame中使用条件语句派生具有特定值的新列

Python 在DataFrame中使用条件语句派生具有特定值的新列,python,python-3.x,dataframe,Python,Python 3.x,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

我有一个这样的数据集

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
是您的数据帧,谢谢

           Status
ID               
0       Completed
1       Completed
2       Cancelled
3       Cancelled
4   Not available
5   Not available
使用
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

请仔细解释您的问题,并使用代码示例格式编写代码。 据我所知,这就是你想要的:

import pandas as pd
import numpy as np
#Existing Data
data={'id':[1,2,3,4,5,6],'status':['Completed','Completed','Cancelled','Cancelled','Na','Na']}
#Create a dataframe
df=pd.DataFrame(data)
#Add the 'Supply' Column
df['supply']=np.where(df['status']=='Completed',1,0)
查看此项了解更多信息:

另外,请张贴您尝试的代码

祝你好运


愿代码与你同在

欢迎来到StackOverflow。此问题缺少上下文或其他细节:请提供额外的上下文来改进问题,其中最好包括您对问题的想法以及您为解决问题所做的任何尝试。这些信息有助于其他人识别您遇到的困难,并帮助他们写出适合您经验水平的答案。您还需要准确地说明您的困难是什么,您期望什么,您得到了什么,以及任何回溯。可能重复欢迎使用堆栈溢出!请停止回答你自己知道不好的问题。如果你必须告诉提问者他们的问题不清楚,如果你必须告诉他们要展示他们试图解决的问题,如果你知道这是重复的:不要回答。留下评论。如果你还不能发表评论:就值得你花时间回答的好问题留下答案。另见。好的,下次再说!
import pandas as pd
import numpy as np
#Existing Data
data={'id':[1,2,3,4,5,6],'status':['Completed','Completed','Cancelled','Cancelled','Na','Na']}
#Create a dataframe
df=pd.DataFrame(data)
#Add the 'Supply' Column
df['supply']=np.where(df['status']=='Completed',1,0)