【发布时间】:2022-01-16 19:07:10
【问题描述】:
我有一个这样的数据框(列不是并排的):
Num A Num B Num C Marked
0 213 314 512
1 612 516 713
2 613 678 125
3 163 813 312
还有像 list = [612,813,512,713]这样的列表
我现在想比较,如果列表中的值存在于数据框中,则将其标记为 1,否则标记为 0,以便输出为:
Num A Num B Num C Marked
0 213 314 512 1
1 612 516 713 1
2 613 678 125 0
3 163 813 312 1
我只发现了如何用单列做到这一点:
import pandas as pd
import numpy as np
path = "path"
wb = pd.ExcelFile(path)
df = wb.parse("Sheet1")
list = [612,813,512,713]
df['Marked'] = df.Num_A.isin.(list).astype(int)
如何让这个考虑所有列?
提前致谢!
【问题讨论】:
-
不要使用“list”作为变量名,这已经被原生python使用了!