Python等价的R运算符“%in%”

时间:2014-08-08 14:57:45

标签: python r pandas

运算符中的python相当于什么?我试图通过仅在行中的列具有在我的列表中找到的值时保留行来过滤掉pandas数据库。

我尝试使用任何()并且我对此非常困难。

5 个答案:

答案 0 :(得分:27)

与R docs进行的Pandas比较是here

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

isin()方法类似于%operator:

中的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

答案 1 :(得分:6)

FWIW:无需拨打大熊猫,在纯python中使用for looplist 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]

答案 2 :(得分:0)

如果您只想使用numpy而不使用panads(例如我的用例),则可以:

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.in1d

答案 3 :(得分:-1)

简而言之,Python的 in 等同于R运算符%in%

例如,这用于检查股票代码“ CHDN.OQ”是否在熊猫数据框的“ assetCode”列中

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

此表达式的结果为True为False。

答案 4 :(得分:-1)

正如其他人指出的那样,基本Python的"POST /invocations HTTP/1.1" 500 291 "-" "AHC/2.0" File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/op_def_library.py", line 350, in _apply_op_helper g = ops._get_graph_from_inputs(_Flatten(keywords.values())) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 5637, in _get_graph_from_inputs _assert_same_graph(original_graph_element, graph_element) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 5573, in _assert_same_graph original_item) 运算符效果很好。

in