示例数据帧:
import pandas as pd
data = data = { 'num1': [1,2,3,4,5],
'num2': [1,1,2,3,1],
'num3': [5,4,3,2,1]}
df = pd.DataFrame(data)
print(df.head())
>>> df.head()
num1 num2 num3
0 1 1 5 #dups with row 4
1 2 1 4
2 3 2 3
3 4 3 2
4 5 1 1 #dups with row 1
在此示例数据框中,我正在尝试提取第一行和最后一行,
因为他们的内容是彼此重复的(1,1,5)
如果值的顺序相同,则下面的代码只会找到重复的行(看起来):
dups =df[df.duplicated(subset=None, keep='first')]
因此导致空数据集.
谢谢.
解决方法:
这是你想要的吗?
In [257]: df[pd.DataFrame(np.sort(df.values), columns=df.columns, index=df.index)
.duplicated(keep='first')]
Out[257]:
num1 num2 num3
4 5 1 1
或者如果您需要所有重复项:
In [258]: df[pd.DataFrame(np.sort(df.values), columns=df.columns, index=df.index)
.duplicated(keep=False)]
Out[258]:
num1 num2 num3
0 1 1 5
4 5 1 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。