как сопоставить индексы списка с индексом фрейма данных и пометить, где он совпадает

1

У меня есть следующий список

  [4,5,6]

У меня есть следующий файл данных

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

Я хочу индексировать индексы индексов в новом столбце в dataframe, где он соответствует индексу dataframe.

 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

Как мне это сделать в пандах?

Теги:
pandas

1 ответ

3
Лучший ответ

Используйте Index.isin для булевой маски и Index.isin ее целому числу - True/False - 1/0 с:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню