我试图查看一个列表A的元素是否在另一个列表B中以及哪个索引上。我知道它们不是熊猫结构。但是应该有一种方法可以使用这些列表来获得示例的结果。如果我错了,请纠正我,我甚至比熊猫更新。
例如
A = ['hi', 'I', 'Am', 'A', 'Test']
B = ['Sara', 'bla', 'bar', 'I', 'python', 'Test', 'Bye', 'hi']
然后得到一个结果列表C
C = [0, 0, 0, 1, 0, 1, 0, 1]
其中1表示a中元素的出现,0表示没有出现,在列表B中。
对于python顺便说一下还是新手。 我在这里看到答案, Example但我不知道如何将此应用于我的情况。它表明熊猫功能适用。
我想要探索的选项是使用名为apply的函数的选项。该示例显示它更快,我使用大数据集。
答案 0 :(得分:0)
您可能正在寻找isin
+ astype
:
B.isin(A).astype(int)
0 0
1 0
2 0
3 1
4 0
5 1
6 0
7 1
dtype: int64
A
和B
都是系列。
如果你想进行子串比较,你需要一个略有不同的解决方案,涉及str.findall
:
B.str.findall('|'.join(A), flags=re.I).str.len().clip(0, 1)
0 1
1 1
2 1
3 1
4 0
5 1
6 0
7 1
dtype: int64