我有这样的数据集
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
请仔细解释您的问题,并使用代码示例格式编写代码。根据我的理解,这就是你想要的:
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
还请发布您尝试过的代码。
祝好运!
愿守则和你在一起!