我有一个这样的数据集
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
谢谢
答案 0 :(得分:0)
如果df
是您的数据框
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
答案 1 :(得分: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)
检查此以获取更多信息: Pandas Conditional creation of DataFrame
还请张贴您尝试过的代码。
祝你好运!
代码可以和您在一起!