Python 如何删除数据集中具有相同值但顺序不同的行?

Python 如何删除数据集中具有相同值但顺序不同的行?,python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,我用Python编写了以下代码: df=df.groupby(['card1', 'card2']).size().reset_index().rename(columns{0:'count'}) df['hand']=df['card1']+', '+df['card2'] df 这将提供以下输出: card1 card2计数手 2c 7h 1 2c,7h 2c 7s 1 2c,7s 7h 2c 1 7h,2c 我希望得到如下输出: card1 card2计数手 2c 7h 2c,7h 2

我用Python编写了以下代码:

df=df.groupby(['card1', 'card2']).size().reset_index().rename(columns{0:'count'})
df['hand']=df['card1']+', '+df['card2']
df
这将提供以下输出:

card1 card2计数手
2c 7h 1 2c,7h
2c 7s 1 2c,7s
7h 2c 1 7h,2c
我希望得到如下输出:

card1 card2计数手
2c 7h 2c,7h
2c 7s 1 2c,7s

对我来说,哪张卡是第一张并不重要(因此输出1和3应该被算作同一只手。我不知道如何做到这一点。

我会后退一步,通过对每一行进行排序,然后使用
groupby
+
size

cols = ['card1', 'card2']

res = pd.DataFrame(np.sort(df[cols].values, axis=1), columns=cols)\
        .groupby(cols).size().rename('count').reset_index()
如果需要逗号分隔的序列,则在较小的结果上创建该序列更有效:

res['hand'] = res['card1'] + ', ' + res['card2']

print(res)

  card1 card2  count    hand
0    2c    7h      2  2c, 7h
1    2c    7s      1  2c, 7s

这会导致以下错误:TypeError:“@Jan,请参阅更新,由于输入数据帧不仅仅由字符串组成,因此您似乎需要按列进行筛选。