与R运算符“相当的Python”以“%”为单位;

与R运算符“相当的Python”以“%”为单位;,python,r,pandas,Python,R,Pandas,这个in操作符的python等价物是什么?我试图通过仅当行中的列在我的列表中有值时才保留行来过滤pandas数据库 我试过使用any(),但遇到了很大的困难 熊猫与R文档的比较如下 FWIW:不用调用pandas,下面是在纯python中使用for循环和列表压缩的答案 x = [2, 3, 5] y = [1, 2, 3] # for loop for i in x: [].append(i in y) Out: [True, True, False] # list comprehen

这个in操作符的python等价物是什么?我试图通过仅当行中的列在我的列表中有值时才保留行来过滤pandas数据库


我试过使用any(),但遇到了很大的困难

熊猫与R文档的比较如下


FWIW:不用调用pandas,下面是在纯python中使用
for循环
列表压缩
的答案

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]

正如其他人所指出的,基本Python的操作符中的运行良好

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

"a00" in myList
# True

"a" in myList
# False

如果您只想使用
numpy
而不使用
panad
(就像我的一个用例),那么您可以:

import numpy as np

x = np.array([1, 2, 3, 10])
y = np.array([10, 11, 2])
np.isin(y, x)
这相当于:

c(10, 11, 2) %in% c(1, 2, 3, 10)

请注意,最后一行仅适用于
numpy>=1.13.0
,对于较旧的版本,您需要使用
np.inad

@Jeff post作为答案。这很漂亮,正是我想要的。你知道用谷歌搜索“输入”和特殊符号有多难,我看不出有什么困难。谷歌搜索“pandas in operator”作为第一个点击,并在该页面上搜索“in operator”,让您立即找到您要查找的内容。我搜索了Python而不是pandas,我不知道这是一个特定于pandas的东西。但需要一个原子左侧来生成与调用语义中R的
%in%
匹配的结果。例如,myList中的
[“a00”,“node”,“c0”]
并不是人们过去对%的期望。
import numpy as np

x = np.array([1, 2, 3, 10])
y = np.array([10, 11, 2])
np.isin(y, x)
c(10, 11, 2) %in% c(1, 2, 3, 10)