python - 如果列表中包含特定列中的值,我想在另一列中检查它
问题描述
案例:如果“nextday_date”列中的值包含在holiday_date_list中,我想在“nextday_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
解决方案
国际大学联盟:
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
这也适用于列表。
推荐阅读
- angular - 如何合并来自 2 个 ngrx 效果的数据
- audio - ALSA-loop(aloop内核模块)发送和接收挂钩点
- node.js - 跳过collection.find()上的字段不起作用
- tomcat - Tomcat_user.xml 更改不影响本地主机登录?
- ios - Apple Watch 扩展只为特定用户安装
- javascript - 比较多个点之间的距离
- python - 判断对象是否已经完成
- arrays - Filtering JSON list in shell using jq
- javascript - Chrome 扩展未在 Selenium JavaScript Webdriver 测试中运行
- android - 如何在带有模块化代码的片段中使用 LeakCanary 检测内存泄漏?