如果特定列中的值包含在列表中,我想在另一列中检查它

2024-04-20 07:09:36 发布

您现在位置:Python中文网/ 问答频道 /正文

案例:如果“nextday\u date”列中的值包含在holiday\u date\u列表中,我希望在“nextday\u holiday”中将其签入为1

下面的代码是正确的。但是这个代码可以更简洁吗?你知道吗

train = pd.read_csv("./train.csv")
holiday_date_list = [a, b, c, d]

idx = [idx for idx, value in enumerate(train["nextday_date"]) if value in holiday_date_list]

train.loc[idx, "nextday_holiday"] = 1

Tags: csv代码in列表readdatevaluetrain
1条回答
网友
1楼 · 发布于 2024-04-20 07:09:36

IIUC公司:

df = pd.DataFrame([["11","2", "6"], ["12","4", "2"], ["13","3", "4"]],
             columns=["ix","a", "b"])

    ix  a   b
0   11  2   6
1   12  4   2
2   13  3   4

检查a中的值是否包含在b中的值中:

df['res']=df.a.isin(df.b).astype(int)
>>df

    ix  a   b   res
0   11  2   6   1
1   12  4   2   1
2   13  3   4   0

这也适用于列表。你知道吗

相关问题 更多 >