Car*_*rie 3 duplicates python-2.7 pandas
我正在尝试找到一种方法,利用 pandasdrop_duplicates()来识别当值顺序相反时行是重复的。
一个例子是,如果我试图查找客户同时购买苹果和香蕉的交易,但数据收集顺序可能会颠倒这些项目。换句话说,当合并为完整订单时,交易将被视为重复,因为它由相同的商品组成。
我希望以下内容被识别为重复项:
Item1 Item2
Apple Banana
Banana Apple
Run Code Online (Sandbox Code Playgroud)
首先使用和 然后按行排序:apply sorteddrop_duplicates
df = df.apply(sorted, axis=1).drop_duplicates()
print (df)
Item1 Item2
0 Apple Banana
Run Code Online (Sandbox Code Playgroud)
#if need specify columns
cols = ['Item1','Item2']
df[cols] = df[cols].apply(sorted, axis=1)
df = df.drop_duplicates(subset=cols)
print (df)
Item1 Item2
0 Apple Banana
Run Code Online (Sandbox Code Playgroud)
另一个带有numpy.sort构造函数的解决方案DataFrame:
df = pd.DataFrame(np.sort(df.values, axis=1), index=df.index, columns=df.columns)
.drop_duplicates()
print (df)
Item1 Item2
0 Apple Banana
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1712 次 |
| 最近记录: |