python - 如何在Python中的pandas中添加缺失值的列

标签 python pandas

我有一个 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/

相关文章:

android - PySerial Python 错误 : AttributeError: 'Serial' object has no attribute '_port_handle'

Python:子类化 frozenset 不可迭代?

python - 将可执行字节流可视化为图像文件,为什么要旋转45度?

python - Flask:注销时 token 过期

python - 将 IntEnum 映射到第二组整数

python - 如何从数据框中删除多个字符

python - 如何过滤 pandas DataFrame 并保留特定元素?

python - print(tabulate(...)) 漂亮地打印 multiIndex pandas ?

python - Pandas 在数据框中组合稀疏列

pandas read_csv() 用于多个分隔符