我有一个 pandas 数据框,如下所示。
name x1 x2
0 a 5 5
1 b 8 6
2 e 3 8
我还有一个姓名
列表,如下。
lst = [a, e]
我想将名为 final_values
的列添加到我当前的数据帧中;
- 如果
名称
位于lst
中,则列值应为1
- 其他
0
因此,我更新的数据框应如下所示。
name x1 x2 final_values
0 a 5 5 1
1 b 8 6 0
2 e 3 8 1
在pandas中有什么简单的方法可以做到这一点吗?
如果需要,我很乐意提供更多详细信息。
最佳答案
通过Series.isin
检查成员(member)资格并将 True/False
的 bool 值转换为整数到 1/0
映射:
df['final_values'] = df['name'].isin(lst).astype(int)
或者使用numpy.where
:
df['final_values'] = np.where(df['name'].isin(lst), 1, 0)
关于python - 如何在Python中的pandas中添加缺失值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55358240/