Питон-эквивалент оператора R "% в%"

Что такое эквивалент python этого оператора? Я пытаюсь отфильтровать базу данных pandas, имея строки только в том случае, если столбец в строке имеет значение, найденное в моем списке.

Я попытался использовать any(), и у меня есть огромные трудности с этим.

Ответ 1

Pandas сравнение с R docs здесь.

s <- 0:4
s %in% c(2,4)

Метод isin() аналогичен R% в операторе%:

In [13]: s = pd.Series(np.arange(5),dtype=np.float32)

In [14]: s.isin([2, 4])
Out[14]: 
0    False
1    False
2     True
3    False
4     True
dtype: bool

Ответ 2

FWIW: без вызова pandas, здесь ответ, используя for loop и list compression в чистом питоне

x = [2, 3, 5] 
y = [1, 2, 3]

# for loop
for i in x: [].append(i in y)

Out: [True, True, False]


# list comprehension
[i in y for i in x]

Out: [True, True, False]

Ответ 3

Вкратце, in of Python является эквивалентом оператора R % в%.

Например, чтобы проверить, находится ли код запаса "CHDN.OQ" в столбце "код актива" кадра данных pandas:

print("CHDN.OQ" in market_train_df['assetCode'])

Результатом этого выражения является True of False.

Ответ 4

Как показывают другие, in операторе базы Python хорошо работает.

myList = ["a00", "b000", "c0"]

"a00" in myList
# True

"a" in myList
# False