我面临的问题如下,我想知道是否有一种聪明的方法来接近它。
简化示例:
dum1 = pd.DataFrame([[123,234,0],
[234,345,456],
[345,567,0],
[678,0,0]],
index=[0,1,2,3],columns=['phone1','phone2','phone3'])
真实案例有超过30,000个条目,也许有10列电话号码。如果参赛作品有共同的电话号码,则应视为重复参赛作品#34;直接参赛作品#34;或"间接"。即在此数据框中,直接重复是索引为0和1的行,行为1和2,间接重复是索引为0,1,2的行,因为第一个和第三个条目通过第二个链接(零不应该有一个部分)在重复的定义中)。
预期输出:
dum2 = pd.DataFrame([[123,234,345,456,567],
[123,234,345,456,567],
[123,234,345,456,567],
[678,0,0,0,0]],
index=[0,1,2,3],columns=['phone1','phone2','phone3','phone4','phone5'])
所有重复项都有相同的电话号码,即每个电话号码的联合号码(如果需要,还会添加额外的电话栏)。
我运行Windows 64,Python版本:2.7.12 | Anaconda 4.1.1(64位)| (默认,2016年6月29日,11:07:13)[MSC v.1500 64 bit(AMD64)] 熊猫版本:0.18.1