Python 3.x 使用pandas合并数据以获取独占权限数据

Python 3.x 使用pandas合并数据以获取独占权限数据,python-3.x,pandas,Python 3.x,Pandas,我有两套 A = {1,2,3,4,5,6} B = {4,5,6,7,8,9} 我想从集合B中获取数据,集合B除外(即,数据不应包括交叉口数据) 当我使用上述命令时,我得到 {4,5,6,7,8,9} 我认为我没有正确地传递论点。请纠正我什么是获得输出的正确命令 {7,8,9} 下面我将提到数据帧示例 right1 = DataFrame({'key': ['a', 'b', 'a', 'a', 'b', 'c'], 'value':

我有两套

A = {1,2,3,4,5,6}
                B = {4,5,6,7,8,9}
我想从集合B中获取数据,集合B除外(即,数据不应包括交叉口数据)

当我使用上述命令时,我得到

{4,5,6,7,8,9}

我认为我没有正确地传递论点。请纠正我什么是获得输出的正确命令

{7,8,9}
下面我将提到数据帧示例

right1 = DataFrame({'key': ['a', 'b', 'a', 'a', 'b', 'c'],
           'value': range(6)})
>>> left1 = DataFrame({'group_val': [3.5, 7]}, index=['a', 'b'])
>>> right1
  key  value
0   a      0
1   b      1
2   a      2
3   a      3
4   b      4
5   c      5
>>> right1
  key  value
0   a      0
1   b      1
2   a      2
3   a      3
4   b      4
5   c      5
>>> left1
   group_val
a        3.5
b        7.0
因此,当我合并时,我应该只得到'c'5,因为'a'和'b'都存在于这两者中


谢谢(仅供参考:我正在使用Python3.4.2)

如果您正在使用set,则无需使用pandas

试试这个:

A = {1,2,3,4,5,6}
B = {4,5,6,7,8,9}

# You want to take the elements in B if they are not in A
C = [element for element in B if element not in A]

您可以尝试使用遮罩:

import pandas as pd
A = {1,2,3,4,5,6}
B = {4,5,6,7,8,9}
a = pd.DataFrame(list(A), columns=['test'])
b = pd.DataFrame(list(B), columns=['test'])
mask = b['test'].isin(a.test)
b[~mask]

Out[7]: 
   test
3     7
4     8
5     9

来源:

除了
isin()
方法(在中有很好的解释)之外,我们还可以使用
query()
方法:

In [223]: right1.query("key not in @left1.index")
Out[223]:
  key  value
5   c      5
来源DFs:

In [224]: left1
Out[224]:
   group_val
a        3.5
b        7.0

In [225]: right1
Out[225]:
  key  value
0   a      0
1   b      1
2   a      2
3   a      3
4   b      4
5   c      5

如果这些是实际设置,您需要
B-A
。你为什么要用熊猫来做这个?上面我举了一个简单的例子。事实上,我有一个包含多列的大数据框。你能给出数据框的例子吗?事实上,我正在寻找上面提到的合并操作,我正在使用数据框。上面的问题中给出了数据帧示例,您是否可以“通常”将它们合并,然后使用类似于:df=df[df['C'].isin(df['A'].tolist()),这很难想象您的数据是什么样子的…很抱歉,我没有从问题请求中提到的示例中获得请Elobart的信息。谢谢
In [224]: left1
Out[224]:
   group_val
a        3.5
b        7.0

In [225]: right1
Out[225]:
  key  value
0   a      0
1   b      1
2   a      2
3   a      3
4   b      4
5   c      5