Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据其他列中的值从数据帧中查找重复项?_Python_Pandas_Python 2.7_Dataframe - Fatal编程技术网

Python 如何根据其他列中的值从数据帧中查找重复项?

Python 如何根据其他列中的值从数据帧中查找重复项?,python,pandas,python-2.7,dataframe,Python,Pandas,Python 2.7,Dataframe,我有一只熊猫- A= [period store item 1 32 'A' 1 34 'A' 1 32 'B' 1 34 'B' 2 42 'X' 2 44 'X' 2 42 'Y' 2 44 'Y'] 我需要实现如下内容: 如果某个项目在该特定期间与任何其他项目具有相同的存储集,则这些项目是重复的。 因此,在这种

我有一只熊猫-

A= 
[period store  item
1        32     'A'
1        34     'A'
1        32     'B'
1        34     'B'
2        42     'X'
2        44     'X'
2        42     'Y'
2        44     'Y']
我需要实现如下内容: 如果某个项目在该特定期间与任何其他项目具有相同的存储集,则这些项目是重复的。 因此,在这种情况下,A和B是重复的,因为它们在各自的时间段具有相同的存储

我已尝试使用以下方法将其转换为嵌套字典:

dicta = {p: g.groupby('items')['store'].apply(tuple).to_dict()
         for p, g in mkt.groupby('period')}
还给我一本这样的字典:

dicta = {1: {'A': (32, 34),'B': (32, 34)}, 2: {'X': (42, 44),'Y': (42, 44)}}
。。。 所以最后我想要一本这样的字典

{1:(A,B),2:(X,Y)} 虽然,我无法找到任何逻辑如何找到重复的项目。 有没有其他方法可以找到那些重复的项目,你可以简单地使用。确保将
['period','store']
作为
子集
传递,并将
保留
作为
传递,以便返回所有行

 print(A[A.duplicated(subset=['period', 'store'], keep=False)])
输出

  period store item
0      1    32    A
1      1    34    A
2      1    32    B
3      1    34    B
4      2    42    X
5      2    44    X
6      2    42    Y
7      2    44    Y
请注意,根据您指定的逻辑,所有行都是重复的

编辑在详细说明预期格式后,我建议

duplicates = A[A.duplicated(subset=['period', 'store'], keep=False)]
output = {g: tuple(df['item'].unique()) for g, df in duplicates.groupby('period')}

然后
output
{1:('A','B'),2:('X','Y')}

你好,谢谢你的快速帮助,但我真正需要的是这样的东西。。。1=(A,B),2=(A,B),其中1和2为期间,A,B为该期间的重复项,且具有相同的存储集。我知道我问了很多问题,但这真的很紧急,考虑到我在这方面的知识有限,我必须寻求帮助。@Bigshaikh那么这与你在问题中已经得到的
dicta
有什么不同呢?那本字典没有给我与句点ID对应的项目duplicates@thebigshaikh是的。外键是
1
2
字典刚刚给了我这个,dicta={1:{'A':(32,34),'B':(32,34)},2:{'X':(42,44),'Y':(42,44)},而我需要这样的东西{1:(A,B),2:(X,Y)},这里1和2是句点,A,B,X,Y是存储集完全相同的项。字典只是原始数据帧以不同形式的表示