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)