首页 > 解决方案 > 如何将列表索引映射到数据帧索引并标记它匹配的位置

问题描述

我有以下列表

  [4,5,6]

我有以下数据框

  index    quantity
  0        12
  1        45
  2        56
  3        55
  4        65
  5        43
  6        23
  7        34

我想在数据帧的新列中标记与数据帧索引匹配的列表索引。

 index    quantity    flag
  0        12         0
  1        45         0
  2        56         0
  3        55         0
  4        65         1
  5        43         1
  6        23         1 
  7        34         0

我如何在熊猫中做到这一点?

标签: pythonpandas

解决方案


用于Index.isin布尔掩码并将其转换为整数 - True/Falses to 1/0s:

L = [4,5,6]
df['flag'] = df.index.isin(L).astype(int)
print (df)
       quantity  flag
index                
0            12     0
1            45     0
2            56     0
3            55     0
4            65     1
5            43     1
6            23     1
7            34     0

推荐阅读