如果我有一个DataFrame:
col1 | col2 | col3
1 | f | Y
1 | t | G
2 | b | Z
7 | t | Y
2 | f | Z
1 | b | Y
7 | b | Q
2 | b | Q
7 | t | Q
2 | c | Z
df = df [df.duplicated(['col1','col3'],keep = False)]
然后将'col2'的值分配给新数据框。
Like
1 | f | Y
1 | b | Y
Exclude
2 | b | P
2 | b | P
col1 | col2 | col3
1 | f | Y
1 | b | Y
2 | b | Z
2 | f | Z
2 | c | Z
7 | b | Q
7 | t | Q
如何在python中执行此操作?预先感谢!
答案 0 :(得分:1)
要获得输出,只需
ndf=df.loc[df[['col1', 'col3']].duplicated(keep=False)].sort_values(by='col1')
col1 col2 col3
0 1 f Y
5 1 b Y
2 2 b Z
4 2 f Z
9 2 c Z
6 7 b Q
8 7 t Q
现在,要获取col2
的所有不同值,请使用
ndf.col2.unique()
array(['f', 'b', 'c', 't'], dtype=object)
或者您也可以删除重复项(但是我不确定那是您想要的)
ndf.drop_duplicates('col2')
col1 col2 col3
0 1 f Y
5 1 b Y
9 2 c Z
8 7 t Q