Питон-эквивалент оператора 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