希望你能帮助我。我是 python 和 pandas 的新手,所以请多多包涵。我正在尝试找到三个数据框之间的通用词,并且我正在使用 Jupiter Notebook。
举个例子:
df1=
A
dog
cat
cow
duck
snake
df2=
A
pig
snail
bird
dog
df3=
A
eagle
dog
snail
monkey
所有数据框中只有一列是 A。我想找到
- 所有列中的公共词
- 他们自己的专栏所独有且不常见的词。
例子:
鸭子是df1特有的,蜗牛是df2特有的,猴子是df3特有的。
我将下面的代码用于某些用途,但没有直接得到我想要的东西,
df1[df1['A'].isin(df2['A']) & (df2['A']) & (df3['A'])]
请让我知道我哪里出错了。干杯
原文由 Tikku 发布,翻译遵循 CC BY-SA 4.0 许可协议
当前方法的问题是您需要 链接 多个
isin
调用。更糟糕的是,您需要跟踪哪个数据帧最大,然后在 那个 数据帧上调用isin
。否则,它不起作用。为了使事情变得简单,您可以使用
np.intersect1d
:piRSquared 使用
functools.reduce
+intersect1d
的 类似方法: