我有一个熊猫数据框,如下所示。
name x1 x2
0 a 5 5
1 b 8 6
2 e 3 8
我还有一个names
的列表,如下所示。
lst = [a, e]
我想在当前数据框中添加一个名为final_values
的列;
name
在lst
中,则列值应为1
0
因此,我更新的数据框应如下所示。
name x1 x2 final_values
0 a 5 5 1
1 b 8 6 0
2 e 3 8 1
在熊猫中有什么简单的方法吗?
很高兴在需要时提供更多详细信息。
答案 0 :(得分:2)
通过Series.isin
检查成员身份,并将True/False
到1/0
映射将布尔值转换为整数:
df['final_values'] = df['name'].isin(lst).astype(int)
或使用numpy.where
:
df['final_values'] = np.where(df['name'].isin(lst), 1, 0)