Python 熊猫:在不考虑顺序的情况下对两列中的值进行计数

Python 熊猫:在不考虑顺序的情况下对两列中的值进行计数,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个表格的数据框 df = pd.DataFrame({'1':['a','b','c'], '2':['b','a','d'], '3':['0.7','0.6','0.1']}). 我想在这个数据框中添加一列,其中包含特定行出现的次数,而不考虑顺序(因为前两列是无向图的节点)。此外,我想合并那些仅在前两列的顺序上不同的行,并取第三列中数字的平均值。在这种情况下,它应该是 df = pd.DataFrame({'1':['a','c'], '2':['b','d'], '3':['0.6

我有一个表格的数据框

df = pd.DataFrame({'1':['a','b','c'], '2':['b','a','d'], '3':['0.7','0.6','0.1']}).
我想在这个数据框中添加一列,其中包含特定行出现的次数,而不考虑顺序(因为前两列是无向图的节点)。此外,我想合并那些仅在前两列的顺序上不同的行,并取第三列中数字的平均值。在这种情况下,它应该是

df = pd.DataFrame({'1':['a','c'], '2':['b','d'], '3':['0.65','0.1'], '4':['2','1']}).
还可以考虑数据帧包含超过100.000行。

使用-

a=df[['1','2']].values
a.sort(axis=1)
df[['1','2']] = a
df.groupby(['1','2'])['3'].agg(['count','mean']).reset_index()
输出

    1   2   count   mean
0   a   b   2   0.65
1   c   d   1   0.10

df[['1','2']] = df[['1','2']].sort_values(1,axis=1)
df.groupby(['1','2'])['3'].agg(['count','mean']).reset_index()

然后对前两列进行排序?