Более сложная логика с пандами loc?

1

Если я хочу сопоставить столбец для нескольких характеристик, т.е.

df.loc[df['col1'] == (5 or 6), 'col2'] = 5

Как я могу это сделать? Я пробовал этот метод, но он не работал.

Теги:
pandas

2 ответа

1
df.loc[(df['col1']==5) | (df['col1']==6),'col2'] = 5

Вы можете также использовать in этом примере, но в некоторых случаях сложной логики, используя bitwise операции | (или) и & (и).

  • 0
    Я думаю , что in более элегантной здесь.
  • 0
    Договорились, но его вопрос был о более сложной логике. Вы не можете всегда использовать in
0

Вы можете использовать pandas.query

idx  = df.query('col1 == 1.178238 or col1 == 0.144455').index
df.loc[idx, 'col2'] = 5
  • 0
    да, если вы дадите мне закончить мой пост, вам не нужны ваши комментарии :)

Ещё вопросы

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